home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LSD Docs
/
LSD Docs.iso
/
FILEZ
/
lsdspr06.dms
/
lsdspr06.adf
/
sculpt4d_3.doc.pp
/
sculpt4d_3.doc
Wrap
Text File
|
1990-09-07
|
161KB
|
4,435 lines
Sculpt-Animate 4D- Part 3
frame recording. Before acquiring hardware for this
purpose, be sure to study all of the latest literature and
periodicals, and consult both your local Amiga and video
dealerships. Unfortunately, we cannot even hope to
adequately introduce the art of videography in this manual.
Sculpt Animate drives have been written for a few video
devices, and more are in the works. If you have a particular
setup in mind, or you have built your own video hardware,
it is possible to write your own software drivers, although
considerable programming experience is required.
Sourcecode for existing frame buffer and frame controller
drivers can be purchased from Byte By Byte Corporation.
Using a GenLock
A GenLock has other uses in Sculpt Animate, besides
encoding RGB to NTSC for recording to videotape. A
GenLock's main purpose, after all, is to overlay computer
graphics onto an external video source.
The GenLock works according to a relatively simple
principle (although the details are technically complex). The
GenLock intercepts the Amiga's RGB image output and
encodes it. As each pixel is transmitted, the Amiga includes
a signal which indicates whether the pixel's color is 'color
zero'. When its genlocking feature is activated, the
GenLock will replace any of the Amiga's color zero pixels
with the corresponding pixel of an external video source,
such as a VTR or video camera image. All other Amiga
pixels are transmitted normally.
In order to permit the use of Sculpt Animate animations
with GenLocks, the program ensures that the black color
used for the 'Sky color NONE' background is color zero in
the Amiga's color map. When a GenLock is being used, the
sky area will be 'transparent' in any animation or image that
is rendered with this setting, so that an external video source
may be seen behind the animation's action.
12-21
As with background-foreground images, the GenLocked
image will not be reflected or transmitted by mirrored or
glass objects. You can simulate such reflection to a certain
extend, though, by setting a SOLID color for the sky that you
want to be reflected. Of course, the genlocked image will
not be visible unless you change the sky color to NONE, but
the color you set for SOLID will be remembered, and used
for reflections and glass transmissions.
GenLocking the Tri-View
Sculpt Animate automatically supports the use of a
GenLock to overlay the Tri-View editing environment onto
an NTSC video source. If a GenLock is connected to the
system, the Tri-View's background will be color zero (the
'transparent' color). This facility can be useful for digitizing
shapes, but is naturally limited to the screen's resolution.
There may be times when you want the normal Tri-View
screen to appear, even if a GenLock is attached to the system
(we encountered this problem when making a tutorial video).
A program entitled 'GenLockToggler' is present in the
'Misc' subdirectory of your '68020/68881 VERSION'
distribution disk. You can run this program to 'hide' your
GenLock before you run Sculpt Animate. Run the
GenLockToggler again to reveal the GenLock afterwards.
Be a little caution with the GenLockToggler program.
It can be used to 'reveal' a GenLock whether there is one or
not. This is probably not what you want to do.
12-22
CHAPTER 13
BY THE NUMBERS
So far, this manual has presented the techniques of
building, manipulating, and animating 3D models as an
artistic pursuit. The aim has been to provide an environment
for freehand model building, so that no mathematical skill is
required beyond some ability to visualize things in three
dimensions.
For many people, however, the scale and accuracy of the
models they build is important. This chapter presents a
number of tools that can be used to precisely scale and
position the objects in your scenes. To understand this
facility, you will need to learn a little three-dimensional
geometry.
Sculpt Animate coordinates
You can think of the Sculpt Animate universe as an
enormous cube of space. When you run the program, the
Tri-View represents a much smaller cube within this space,
situated in its exact center. As you use the Tri-View, you
move it around within the universe, expanding and shrinking
your view so that it contains more or less of the available
space.
An essential part of Sculpt Animate is that every vertex,
lamp, or other object has a precise location within the
universe. Any location in a 3D space can be described with
only three numbers, each of which describes an offset in one
of the three dimensions. This sort of arrangement is called a
Cartesian coordinate system (named after Rene Descartes).
The street-locater grid on a fold-up city map is a cartesian
system in two dimensions. A 3D system is similar, except
that it can also 'map' vertical offsets.
13-1
Any given location in Sculpt Animate is described in
terms of the cardinal directions East, North, and Up. These
directions correspond to the 'X', 'Y', and 'Z' of a traditional
coordinate system in mathematics.
Z Up
! X !
! / ! West
! / ! /
Y--------------!/-----------Y ! /
/! ! /
/ ! ! /
/ ! South----------!/---------------- North
/ ! /!
X ! / !
! / !
Z East / !
Down
Sculpt Animate Coordinate System
The Coordinates window
If you execute the command EDIT COORDINATES, a
new window called the coordinate window will pop up.
This window has a drag bar, so you can move it to a location
where it will not obstruct the Tri-View.
When you invoke this window, a requester will inquire
how many decimal places you want to use. Sculpt
Animate's universe is divided into a fixed number of
indivisible units, but most people will want to work with a
divisible unit of measurement. By choosing a particular
number of decimal places, you determine what fraction of
your 'working' unit each Sculpt Animate unit will be. For
instance, if you choose one decimal place, the smallest
fraction you will be able to work with is 0.1, or one tenth of
your working unit.
13-2
Many people wonder why their working unit of measure
isn't marked in inches, or feet, or meters, etc. It is left up to
the user to decide what one 'unit' in the coordinates window
will be equivalent to, be it parsec, cubit, or angstrom. All
Sculpt Animate must know is the largest number of decimal
places you'll need to express a fraction of one working unit.
!=========================================!
!=========================================!
! !
! !----------------------------! !
! East: ! 530.7 ! !
! !----------------------------! !
! !----------------------------! !
! North: ! 161.0 ! !
! !----------------------------! !
! !----------------------------! !
! Up: ! 23.4 ! !
! !----------------------------! !
! !
! !-----! !---------------------! !-----! !
! ! <-- ! ! 0.0 ! ! --> ! !
! !-----! !---------------------! !-----! !
! !-----! !---------------------! !-----! !
! ! /__ ! ! ! ! X ! !
! !-----! !---------------------! !-----! !
!=========================================!
The Coordinates Window
Once you have entered the number of decimal places, a
new window will appear on the screen. This window
displays the cursor position relative to an origin. The
position is represented as a distance East, a distance north
and a distance in the Up direction, relative to the coordinate
origin. If the displayed value is negative, it represents an
offset in the opposite direction.
At this point, you may drag the coordinates window to
one side, and continue working in the Tri-View as usual.
The readout of the cursor's position will be updated as you
move it around.
When you are working with the coordinates window on
the screen, you can also click on one of the coordinate boxes
and edit or enter a number. When you press the return key,
13-3
the Tri-View cursor will jump to the location that you
specify.
The coordinate origin
The center of a coordinate system is called its 'origin'.
Coordinate values are read as offsets from this location.
The origin of the coordinate window starts out at the
absolute origin, in the center of the Sculpt universe. It is
often convenient to work with coordinates based on some
other place in your scene. To do this, you can move the
coordinate origin by placing the cursor at the desired location
and clicking on the X shaped gadget in the extreme lower
right of the coordinates window.
Even though the coordinate origin can move about, you
can find the absolute origin at any time by holding down the
right Amiga key and clicking the Center Tri-View gadget.
This places the cursor back at the absolute origin.
If you are building an object from a set of plans, it is a
good idea to set the origin at a convenient location. For
example place the origin at one corner of a house and then
the numbers in the coordinates window can directly
correspond to measurements on the plans. If you are
building a complicated object from many simpler ones, you
can reset the origin for each object.
Once an object is built, it can be very simple to position it
precisely. Usually there will be a vertex of the object that
you will want to be precisely aligned in a larger context.
You can use the command EDIT SNAP CURSOR TO
VERTEX to place the cursor precisely on this vertex, then
turn on the GRABBER and type a new location for the
vertex directly into the coordinate window.
If you want to place one object relative to another
object's center, DESELECT ALL, select the reference object
and do a SNAP CURSOR TO CENTER, then zero the
coordinates window. Now DESELECT ALL and select the
13-4
object you want to move. Use a SNAP CURSOR command
to place the cursor precisely, relative to this object. Finally,
turn on the GRABBER and enter zeros into all three
coordinates, putting the cursor in the center of the reference
object.
If you want an object placed precisely on the ground,
you can select the object, indicate its lowest vertex, do a
SNAP CURSOR TO VERTEX, and turn on the Grabber
tool. now simply zeroing out the 'Up' coordinate will move
the object so that its bottom vertex is precisely at ground
level. This works if the coordinates are still zeroed at the
'absolute' origin. If not, click Center Tri-View while
holding the right Amiga key to find the ground level.
These are just a couple of examples of how the
coordinates window can be combined with the SNAP
CURSOR commands to precisely place objects in the Tri-
View.
The tape measure
The fourth number in the coordinates window is the
readout for an automatic tape measure.
There are also two end marker gadgets, one to either side
of this readout. Clicking one of these gadgets will place one
of a pair of marker icons at the current cursor position.
These two markers represent the ends of the tape measure,
as soon as both are placed in the Tri-View, you will see the
distance between them displayed in the readout.
If a vertex is indicated when you click a marker gadget
(i.e., the cursor is close to it in the selected window), then
that marker will be 'attached' to the indicated vertex. If the
vertex is moved in the Tri-View, the marker will move with
it and the tape measure readout will be updated accordingly.
A marker icon will be purple if it is attached to a vertex.
Otherwise it will be blue.
13-5
You can use the tape measure to scale objects precisely.
Say you want a sphere with a specific radius. First,
DESELECT ALL and add a sphere in the normal way.
Select the sphere and snap the cursor to its center. Click
Shrink Tri-View until no vertex is visible under the cursor,
then click one of the marker gadgets. Expand the Tri-View
again, indicate any vertex, and click the other marker gadget.
Now that the tape measure is set, call up EDIT DO
EXPAND. Each time you adjust the sphere's size, the tape
measure will reflect the new radius. EXPAND's lower
slider lets you scale sizes with an accuracy of almost one part
in 10,000.
When you are using spheres, it might be convenient to
place a vertex at the center of each sphere, and connect it to
the rest of the sphere with an edge. This lets you use SNAP
CURSOR TO VERTEX, instead of having to deselect
everything, select the sphere, and snap to its center. It also
provides a convenient anchor vertex for the tape measure and
local origin.
Of course, if all you want to do is scale the sphere, you
could mark diametrically opposite vertices and read the
measure as the sphere's diameter instead of radius. This
entirely avoids the need to use SNAP CURSOR TO
CENTER, but it wouldn't show off as many techniques!
The protractor
Just as you can use the tape measure readout for
measuring distances, there is also a way to measure angles.
This is done with the readout on the bottom of the
coordinates window. Notice the 'angle' gadget to the left of
this readout (opposite the origin gadget). Clicking this
gadget places a similarly shaped icon at the cursor's current
location.
This icon is the protractor marker. It works just like the
two tape measure end markers, in that it may be placed
independently or attached to an indicated vertex. The
13-6
protractor works with the tape measure icons to mark an
angle to be measured.
To see how this works, construct a triangle in the Tri-
View. Move the cursor to any of the triangle's vertices, and
click on the left hand tape measure gadget, then move the
cursor to another vertex and click on the right hand tape
measure gadget. Finally move the cursor to the third vertex
and click on the angle icon at the lower left of the coordinate
window. All the markers should be displayed in purple,
indicating that the marker is locked to the vertex.
The bottom box in the coordinates window will now
display an angle measurement. This measurement is the
size, in degrees, of the apparent arc between the two tape
measure markers, as measured from the protractor marker.
In this case, this is the angle at the triangle corner which is
marked by the protractor. The value's precision is two
decimal places, regardless of the precision of the other
numbers in the coordinate window.
Deselect all but the one vertex and use the Grabber tool
to move the vertex around. Watch how the angle displayed
in the coordinate window changes. you can see that this
tool can be used not only to measure, but also to construct
objects by their angular measurements.
We have been using the protractor to measure angles in
the plane of one Tri-View window, but by placing the
various markers in three dimensions you can measure any
angle, no matter what plane it lies in. This can be helpful
when constructing models for scientific purposes.
The grid
If you are modeling objects that are built according to
regular, integral measurements, a reference grid can be a
great help. Sculpt Animate provides a three dimensional
grid, a sort of 3D graph paper, that you can use to help build
and position your objects.
13-7
You turn on Sculpt Animate's grid with the command
EDIT GRID ON. When you use this command, a requester
will pop up asking for the grid size. This is the size of each
grid cube in Sculpt Animate's 'fundamental' units, the least
significant digit of the coordinate system.
The grid size can be made the same as your working unit
by typing in the correct scaling factor. Thus, if your
working unit is divisible by thousandths (0.0001, three
decimal places), then an equivalent grid size would be 1000
fundamental units.
The grid size can also be some multiple or fraction of
your working unit. For instance, if you have decided your
working unit is inches, with three decimals of accuracy, then
you can specify grid lines at one foot intervals by entering a
grid size of 12 times 1000, or 12000. A grid size of 125
would be equivalent to 1/8th inch grids.
The grid displayed in the Tri-Window as faint grid lines in
each of the three windows. If the Tri-View is expanded to
the point that the grid lines would be spaced too closely, then
the grid will disappear until the Tri-View is shrunk again.
The grid is not just used as an aid to visual placement of
objects. The commands EDIT SNAP CURSOR TO GRID
and EDIT SNAP SELECTED VERTICES TO GRID both
work as you might expect, moving the items in question to
the nearest grid intersection.
SNAP CURSOR TO GRID can be used like the other
SNAP CURSOR commands as an aid to positioning objects.
Note that using the menus for a SNAP CURSOR command
will not drop the grabber, as it usually would.
The grid can be removed with the command EDIT GRID
OFF. If the grid is already on and you want to change its
scaling factor, just call EDIT GRID ON a second time and
enter a new size value.
13-8
CHAPTER 14
KEYSTROKES,
FONTS, AND SCRIPTS
On the surface, the design of Sculpt Animate is such as
to require the minimum of rote learning. Once you have
grasped a few underlying concepts the rest should follow
naturally. Likewise, if you do not use the program for a
while, it should not take you long to get back up to speed.
The drawback of this approach, with its extensive use of
menus, is that the program cannot be operated as quickly as
a keyboard based program could, in the hands of an
experienced user. It is quicker to press a key on the
keyboard than it is to make a menu selection, provided that
you are able to remember which key to press to produce the
effect of a specific menu command.
To address this need, Sculpt Animate makes use of the
keyboard in a number of ways. There are menu-defined
keyboard equivalents, 'on-the-fly' user definable hot keys,
keyboard-automated text font loading, and a scripting facility
that allows Sculpt Animate to be 'programmed' to perform
automated routines. Script routine 'macros' can even be
attached to hot keys.
These are all rather advanced features, so much so that
it's unlikely that any one user will make full use of all of
them. Each of them addresses a specific need, however, and
they are here if you need them.
Keyboard menu equivalents
As with most Amiga programs, there are a series of
keyboard equivalents associated with the menus. When you
scan through the menus you will notice that some commands
have a notation like F1 to the right. This means that the
14-1
command can also be executed by means of a keystroke, in
this case the 'function key' marked 'F1'.
Other commands are marked with the symbol A,
followed by a letter. This means that the command can be
accessed by holding down the right Amiga key while
pressing the indicated letter key.
The keyboard equivalent for a menu command will have
precisely the same effect as the menu command itself would.
Since the menu commands are all right there in the menus, it
is easy to refresh your memory if you forget one.
There is one 'universal' keyboard equivalent. Pressing
the escape key (marked ESC) will cause the last menu
command to be repeated. This is particularly useful if you
need to perform the same command many times in a row.
For example, if you need to erase a dozen edges, point
the cursor to the first edge and execute the command EDIT
ERASE INDICATED EDGE. Then point the cursor at the
second edge and press the escape key. Continue this
sequence and you will find that it is much quicker than using
the menu.
User settable hot keys
The trouble with using the escape key as a short cut for a
menu command is that it can only represent one command at
a time. There is a way that each of the alphabetic keys, A
through Z, can be assigned to a menu command, so you can
set up as many as 26 single-stroke commands.
If you press one of these while holding down the ALT
key, then the alphabetic key becomes equivalent to the last
menu command that was executed. This assignment will
remain in effect until you quit the program.
The problem with hot keys is that they require you to
remember what is defined. Try to choose a letter that is
reminiscent of the command you are defining, such as 'C'
14-2
for SELECT CONNECTED VERTICES. The relationship
needn't be alphabetic, either, for instance, 'X' could be a hot
key for SNAP CURSOR TO CENTER.
There are fewer keys than commands, but you will find
that certain commands are used together while you are doing
certain types of editing. Because the keys can be freely
redefined, you may find it useful to change your definitions
as a project proceeds from one stage to another. This is a
'power user' technique, though, and not recommended
unless you feel comfortable with it.
Fonts
There are still more ways in which the keyboard can be
used to save time. 3D Font object library disks designed for
Sculpt Animate can be purchased separately, but it can be
difficult to place these font character objects in the scene by
hand.
To ease the burden, Sculpt Animate has a keyboard-
driven automated font loading mechanism which can be used
with font disks laid out in a particular fashion.
For Sculpt Animate's purposes, a font is a set of scene
files containing three dimensional models of solid characters.
Individual fonts will differ in which characters they contain,
but most will contain the upper case characters, and some
will contain other characters as well.
To activate the type-in font feature, execute the command
PROJECT LOAD FONT. A standard file requester will pop
up to allow you to choose the directory in which the font's
scene files reside. This time it is not necessary to select a
particular file, just specify the correct volume and drawer,
then click OK>
Once a font is loaded, pressing any key that has a
graphic symbol will cause the program to search the font
directory. If the character is found, it will be loaded into the
14-3
current window at the position of the cursor, and the cursor
will be advanced to the right by the size of the character.
The first character you type will be scaled so that its
height is the same as the height of the current window.
Subsequent characters will be scaled by the same proportion
until the next time you execute LOAD FONT.
So long as a font is loaded, all the keys, whether or not
their corresponding font objects are actually available, will
be assumed to be connected to the font. User definable hot
keys will not operate, nor will the script based keystroke
macros that will be defined in the next section. To re-enable
the other uses of the keyboard, you must execute the
command PROJECT UNLOAD FONT.
We mentioned that fonts must be laid out in a particular
fashion. For one thing, it will be assumed that characters
were originally constructed in the North view, although they
can be loaded into any view. The characters should also be
saved with Save Object, with the cursor placed at each
character's baseline and some distance West of its leftmost
vertex.
The cursor's left offset will be used to space each
character from the previous one. The cursor's position in
the other two dimensions will be used to align the characters
in a row as they are loaded.. By carefully placing the cursor
when each character is saved, both proportional spacing and
correct handling of descenders can be provided for. Free
vertices may also be saved with the character object, if
necessary, to define the space it must occupy. These
vertices will be ignored when the character is loaded.
If, upon saving, the cursor was not placed to the left of
the character's leftmost vertex, Sculpt Animate will try to
estimate an appropriate spacing. The cursor will determine
the character's baseline and depth alignment in any case.
It is assumed that all a font's character scene files will be
stored in a single directory, and that scenes for different
fonts will be placed in separate directories.
14-4
Also, each character scene must be named correctly in
order for Sculpt Animate to find it. The program will use
these rules when looking for a character's scene:
1) If a lowercase alphabetic character is pressed--'a',
for example--then Sculpt Animate will look in the
selected font directory for files named like these
two, in this order: 'a.scene', and 'a_3D.scene'.
2) If an uppercase alphabetic character is pressed--
'A', for example--then Sculpt Animate will look
for files named like 'ua.scene' and
'acap_3D.scene'.
3) If a numeric key is pressed--'9' for example--then
Sculpt Animate will look for '9.scene' and
'9_3D.scene'.
4) If a slash (/) or colon (:) is pressed, Sculpt Animate
will look for 'slash.scene' or 'colon.scene',
respectively.
5) If any other printable character is pressed,
including the ALT modified characters listed in the
AmigaDOS manual, Sculpt Animate will first
append '.scene' to that character, then
'_3D.scene', and try to open files with these
names. Examples: '&.scene', and '&_3D.scene'.
6) If the character scene file still hasn't been found
after the preceding rules have been applied, the
'.scene' suffix will be affixed to the two-character
hexadecimal equivalent of the desired character's
ASCII code (for example, '3F.scene' if you
pressed '?'), and one last attempt will be made to
open the file.
The last rule provides for characters which can be
awkward to use in AmigaDOS file names. Some of these
are: asterisk (*, hex equivalent 2A), space ( ,20), equals
(=,3D), plus (+,2B), single quote (',27), double quote
(",22), question mark (?,3F), percent (%,25), sharp (#,23),
14-5
vertical bar (|,7C), semicolon (;,3B), and parentheses (28
and 29).
Scripts
Although most people will want to operate Sculpt
Animate in an interactive mode, it can also be controlled
from a script command file. Script files are definitely an
advanced tool, and will probably be of most interest to those
with some knowledge of computer programming.
A script file is a plain text file that has been typed in an
saved with a text editor, such as the Amiga CLI's 'ED'
command. All script file names must end with the extension
'.script'.
Once you have created and saved your script file, you
can start its execution with the command PROJECT LOAD
SCRIPT. This will invoke a standard file requester, which
you can use to pick which script to load.
When you click OK, Sculpt Animate will go through the
script interpreting the commands in sequence. For instance,
the following script will load in a scene, render it, and save
the resulting image.
erase all
load scene "test.scene"
start
save image "test.image"
A special exception to this behavior is initiated buy the
MACRO command. This command defines a hot key
'macro', a set of script commands that can be executed by a
single keystroke. The MACRO command is explicitly
defined at the end of the next section. For an example, the
following script defines a hot key that will grab a connected
object by the indicated vertex and align it to the grid.
14-6
macro z
snap cursor to vertex
select connected
grabber on
snap cursor to grid
grabber off
deselect connected
mend
The command MEND ends the macro definition. The
defined sequence of commands is indented here, but this is
not necessary. It is, however, a recommended technique,
since it makes the scripts much easier to read.
If a file called 'startup.script' exists in the current
directory when Sculpt Animate is run, then this script file is
automatically executed. The startup script can be especially
helpful for defining macros that you will want to use all the
time. Note that you can define hot keys in the startup script
as macros, as in the following example.
macro t target mend
macro l location mend
macro g grabber mend
Notice that several statements may be placed on the same
line. this should be reserved for fairly simple macros,
though to keep things readable.
As the ultimate step in using scripts, people with
programming skills can write script-generating programs to
create very sophisticated, special purpose scenes. A typical
application of this technique would be to create specialized
objects that lend themselves to mathematical techniques.
Script writing programs would make extensive use of the
cursor placement and edge creation commands described in
the next section. These commands operate on the principle
that (East, North, Up) would be equivalent to the
coordinates (X,Y,Z) in traditional mathematics. Some
14-7
example script-generating programs may be found on your
Sculpt Animate distribution disks.
Script commands
The following script commands are directly equivalent
to menu commands. When part of the command is shown in
lower case, that part is optional and may be abbreviated. It
is a good idea to place each script command on a separate
line.
Script command Menu command
LOAd CODe PROJECT LOAD CODE
LOAd WORkbench PROJECT LOAD WORKBENCH
SHOw IMAge PROJECT SHOW IMAGE
SHOw ANImation PROJECT SHOW ANIMATION
SHOw PREview PROJECT SHOW PREVIEW
UNLoad IMAge PROJECT UNLOAD IMAGE
UNLoad ANImation PROJECT UNLOAD ANIMATION
UNLoad PREview PROJECT UNLOAD PREVIEW
UNLoad FONt PROJECT UNLOAD FONT
UNLoad CODe PROJECT UNLOAD CODE
UNLoad WORkbench PROJECT UNLOAD WORKBENCH
SELect ALL EDIT SELECT ALL
SELect CONnected EDIT SELECT CONNECTED
SELect INDicated VERtex EDIT SELECT INDICATED
VERTEX
SELect SWAp EDIT SELECT SWAP
SELect INDicated EDGe EDIT SELECT INDICATED EDGE
SELect INDicated SPLine EDIT SELECT INDICATED SPLINE
SELect INDicated PATh EDIT SELECT INDICATED PATH
DESelect ALL EDIT DESELECT ALL
DESelect CONnected EDIT DESELECT CONNECTED
DESelect INDicated EDGE EDIT DESELECT INDICATED
EDGE
ERAse SELected VERtices EDIT ERASE SELECTED
VERTICES
ERAse SELected EDGes EDIT ERASE SELECTED EDGES
ERAse INDicated VERtex EDIT ERASE INDICATED VERTEX
ERAse INDicated EDGE EDIT ERASE INDICATED EDGE
ERAse INDicated LAMp EDIT ERASE INDICATED LAMP
ERAse ALL LAMps EDIT ERASE ALL LAMPS
14-8
ERAse INDicated PATH EDIT ERASE INDICATED PATH
ERAse INDicated SPLine EDIT ERASE INDICATED SPLINE
ERAse ALL EDIT ERASE ALL
SUBdivide EDIT DO SUBDIVIDE
FILl EDIT DO FILL
UNSlice EDIT DO UNSLICE
REFlect EDIT DO REFLECT
MAKe SPLine EDIT DO MAKE SPLINE
MAKe PATh EDIT DO MAKE PATH
SHOw PATh EDIT DO SHOW PATH POSITION
HIDe EDIT DO HIDE SELECTED
VERTICES
MAKe TV BIG EDIT DO MAKE TRI-VIEW BIG
MAKe TV SMALL EDIT DO MAKE TRI-VIEW SMALL
ADD DUPlicate EDIT ADD DUPLICATE
ADD LAMp EDIT ADD LAMP
ADD VERtex EDIT ADD VERTEX
ADD EDGes EDIT ADD EDGES
SNAp CURsor to VERtex EDIT SNAP CURSOR TO VERTEX
SNAp CURsor to CENter EDIT SNAP CURSOR TO CENTER
SNAp CURsor to CENTROID EDIT SNAP CURSOR TO
CENTROID
SNAp CURsor to GRId EDIT SNAP CURSOR TO GRID
SNAp SELected VERtices to GRId EDIT SNAP SELECTED VERTICES
TO GRID
SNAp CONnected VERtices TO SPHere EDIT SNAP CONNECTED
VERTICES TO SPHERE
SNAp SELected VERtices to PLAne EDIT SNAP SELECTED VERTICES
TO PLANE
GRId OFF EDIT GRID OFF
EXTrude TOOLS EXTRUDE
GRAbber ON TOOLS GRABBER
(when grabber is off)
GRAbber OFF TOOLS GRABBER
(when grabber is on)
WIReframe OBSERVER MODE WIREFRAME
SKEtch OBSERVER MODE SKETCH
PAInting OBSERVER MODE PAINTING
SNApshot OBSERVER MODE SNAPSHOT
PHOto OBSERVER MODE PHOTO
SCAnline PAInting OBSERVER MODE SCANLINE
PAINTING
SCAnline SNApshot OBSERVER MODE SCANLINE
SNAPSHOT
LOres OBSERVER MODE LO-RES
HIres OBSERVER MODE HI-RES
NO INTerlace OBSERVER MODE NO-
INTERLACE
INTerlace OBSERVER MODE INTERLACE
14-9
LOCation OBSERVER LOCATION
TARget OBSERVER TARGET
LENs NORmal OBSERVER LENS NORMAL
LENs Telephoto OBSERVER LENS TELEPHOTO
LENs WIDeangle OBSERVER LENS WIDEANGLE
EXPosure AUTo OBSERVER EXPOSURE AUTO
IMAgesize TINy OBSERVER IMAGE SIZE TINY
IMAgesize SMAll OBSERVER IMAGE SIZE SMALL
IMAgesize MEDium OBSERVER IMAGE SIZE MEDIUM
IMAgesize FULl OBSERVER IMAGE SIZE FULL
IMAgesize JUMbo OBSERVER IMAGE SIZE JUMBO
IMAgesize VIDeo OBSERVER IMAGE SIZE VIDEO
ANTi aliasing NONe OBSERVER ANTI-ALIASING
NONE
ANTi aliasing GOOd OBSERVER ANTI-ALIASING
GOOD
ANTi aliasing BESt OBSERVER ANTI-ALIASING
BEST
STArt OBSERVER START
The next group of script commands correspond to menu
commands, but additional data must be supplied, usually that
which is given to a requester. Items shown in angle brackets
stands for this data as follows.
<filename> A complete file name, including
the extension, enclosed in
quotes. For example
"littlehouse.scene".
<name> A hierarchy name, enclosed in
quotes. Parents and offspring
are separated by plus signs. If
the hierarchy does not exist, it is
created. For example
"bill+leftarm"
<rgb4> Three numbers in the range 0 to
15 represent red green and
blue values. For example 15 15
15 would represent white.
<rgb> Three numbers in the range 0.0
to 1.0 to represent red green and
14-10
blue values. For example 1.0
1.0 1.0 would represent white.
<number> A numeric value.
<texture> One of the following:
DULl
SHIny
MIRror
LUMinous
GLAss
METal
<side> One of the following:
INWard
OUTward
<slope> One of the following:
CALculated
SPEcified
<knot-type> One of the following:
REGular
CUSp
<direction> Three numbers representing a
direction. The first number is
an eastward offset, the second
northward and the third
upward.
<character> Any keyboard character that
produced something on the
screen except white space when
it is typed. For example an
alphabetic character, a digit or a
special character. Not a space,
tab, return, ALT etc.
<script commands> Any sequence of script
commands except MACRO and
14-11
MEND. The sequence can span
more than one line.
When a reference is made to a coordinate, the current
scaling as specified by the most recent Coordinates
command is employed.
When part of a command is optional, it is shown in
square brackets. For example the command for loading a
scene has the syntax.
LOAd SCEne <filename> [LAMps] [OBServer]
[WORld] [OBJects] [SELECTED]
[DESELECTED]
The actual command might be
load sce "littlehouse.scene" lamps obj selected
and mean that the littlehouse file is to be loaded, but only
the objects and the lamps, with all loaded vertices being
selected. The meaning of the following commands closely
follows the menu commands. Where it is not obvious, it is
explained.
LOAd SCEne <filename> [LAMps] [OBServer] [WORld]
[OBJects] [SELECTED] [DESELECTED]
LOAd IMAge <filename>
LOAd OBJect <filename> [SELECTED] [DESELECTED]
LOAd NAMed object <name> <filename>
LOAd TAKe <filename>
LOAd ANImation <filename>
LOAd FONt <filename>
14-12
SAVe SCEne <filename> [LAMps] [OBServer] [WORld]
[OBJects] [ALL] [SELECTED]
SAVe IMAge <filename>
SAVe OBJect <filename>
SAVe NAMed object <name> <filename>
SELect NAMed vertices <name>
DESelect NAMed vertices <name>
ERAse NAMed vertices <name>
MODify WIRe-frame colors <rgb4><rgb4>
EXPAnd <number> [NS] [EW] [UD]
Note that the expand command will expand selected
vertices by the factor given by <number>. If none of
the keywords NS, EW or UD are supplied, then the
expansion is in all directions. NS stands for expansion
in the north-south direction, EW means east-west and
UD means up-down.
SPIn <number> <number> The first number is the number
of spin steps and the second number is the spin angle.
For example spin 12 360 would generate a 12 step full
circle object.
MAKe HELix <number> <number>
The first number is the number of spin steps per turn
and the second number is the total number of spin
steps. For example make helix 12 48 would generate a
four turn helix with 12 steps per turn.
ADD SPHere <number> <number>
The first number is the radius of the sphere and the
second number is the number of subdivisions.
14-13
ADD HEMisphere <number> <number>
The first number is the radius of the hemisphere and
the second number is the number of subdivisions.
ADD CUBe <number>
The number is the size of the cube.
ADD PRIsm <number>
The number is the size of the prism.
ADD DISk <number> <number>
The first number is the radius of the disk and the
second number is the number of subdivisions.
ADD CIRcle <number> <number>
The first number is the radius of the circle and the
second number is the number of subdivisions.
ADD CYLinder <number> <number>
The first number is the radius of the cylinder and the
second number is the number of subdivisions. The
height of the cylinder is twice the radius.
ADD TUBe <number> <number>
The first number is the radius of the tube and the
second number is the number of subdivisions. The
height of the tube is twice the radius.
ADD CONe <number> <number>
The first number is the radius of the cone and the
second number is the number of subdivisions. The
height of the cone is twice the radius.
NAMe SELected VERtices <name>
NAMe CONnected VERtices <name>
NAMe INDicated PATh <name>
NAMe INDicated LAMp <name>
14-14
GRId ON <number>
The number specifies the grid spacing.
COOrdinates <number>
The number specifies the number of decimal places.
This command should normally be issued before any
other script command that employs coordinate values
or measurements.
MAGnet ATTract <number>
The number represents the strength of the magnet in
terms of its standard value.
MAGnet REPel <number>
The number represents the strength of the magnet in
terms of its standard value.
BITplanes <number>
BITPLANES 24 <filename> <filename> <filename>
<number> <number>
<number> <number>
The three filenames are for red, green and blue data.
The first number is the relative pixel width. The
second number is the relative pixel height. The third
number is the image width. The fourth number is the
image height. All the number must be integers.
LENs SPEcial <number>
The number is the focal length of the lens in
millimeters.
EXPOsure MANual <number>
The number is the exposure override value expressed
as a percentage of the standard value. For example exp
manual 50 would make the picture half as bright as
normal.
DIThering <number>
The number represents the percentage of standard dithering.
14-15
TILt <number>
The following commands have no menu equivalents, but
correspond to requester functions.
ERASE TAKE
Remove a Take from memory.
FACe COLor <rgb>
SET FACe COLor
SMOothing OFF
SMOothing ON
TEXture <texture>
SET TEXture
BLEnd FACe COLor
FETch FACe TEXture
LAMp COLor <rgb>
LAMp BRIghtness <number>
BLEnd LAMp COLor Blends the color of all lamps
BLEnd LAMp BRIghtness Blends the brightness of
all lamps.
FETch INDicated LAMp COLor
FETch INDicated LAMp BRIghtness
SET INDicated LAMp COLor
14-16
SET INDicated LAMp BRIghtness
SET COLor ALL LAMps
SET BRIghtness of ALL LAMps
For the KNOt commands to work, the knot which is to
be altered must be indicated by the cursor.
KNOt INWard
If the knot is a cusp, subsequent speeds or
specified slopes will apply to the inward side
of the cusp.
KNOt OUTward
If the knot is a cusp, subsequent speeds or
specified slopes will apply to the outward
side of the slope.
KNOt CALculated
The slope (or slopes, for a cusp) will be
calculated.
KNOt SPECified <direction>
The direction is used to set the knot's slope.
KNOt REGular
The knot is turned into a non-cusp.
KNOt SPEEd <number>
The number specifies the knot's speed. A
value of 1.0 corresponds to the middle of the
speed slider.
TUMble INTerpolated
TUMble SPEcified <direction> <direction>
The first direction indicates the east tumble
14-17
axis, the second indicates the north tumble
axis.
TAKe NUMber of FRAmes <number>
TAKe PREview SIZe FULl
TAKe PREview SIZe HALF
TAKe MOTion BLUr YES
TAKe MOTion BLUr NO
TAKe RAM YES
TAKe RAM NO
TAKe RAM ECOnomy
TAKe SAVe IMAges YES
TAKe SAVe IMAges NO
TAKe LOOp LOOp
TAKe LOOp OSCillate
TAKe LOOp NONe
TAKe ANImation DRAwer <filename>
TAKe FOReground <filename>
TAKe BACkground <filename>
TAKe SAVe GLObal SCEne
TAKe PREview
TAKe LOAd GLObal SCEne
TAKe RENder ALL
14-18
TAKe DELete ALL IMAges
TAKe CURrent FRAme <number>
TAKe KEY frame YES
TAKe KEY frame NO
TAKe DURation <number>
TAKe IMAge DRAwer <filename>
TAKe SCEne DRAwer <filename>
TAKe SAVe KEY FRAme SCEne
TAKe RENder FRAme
TAKe DELete CURrent IMAge
TAKe LOAd KEY FRAme SCEne
TAKe FRAme BUFfer <filename>
TAKe NO FRAme BUFfer
TAKe FRAme CONtroller <filename>
TAKe NO FRAme CONtroller
SKY GRAduated <rgb> <rgb>
The first color is the zenith color and the
second is the horizon color.
SKY SOLid <rgb>
SKY NONe
GROund NONe
GROund SOLid <rgb>
14-19
GROund CHEckered <rgb> <rgb>
GROund SCAle <number>
The number is the size of the checkerboard
squares.
ILLumination <rgb>
The final group of script commands perform functions
related to the cursor, the keyboard, and the Tri-View.
ROTate CLOckwise <number>
ROTate COUnterclockwise <number>
WINdow North
Select the northward window. The window
commands are important if you plan to use
the ROTate commands.
WINdow South
WINdow East
WINdow West
WINdow Up
WINdow Down
TRI-view SIZe <number> <number> <number>
Sets the size of the block of space that the
Tri-View represents. The first number is the
size in the eastward direction, the second in
the northward direction and the third in the
upward direction. No size can be less than
on tenth of the largest size.
REFRESH
Refresh the Tri-View
14-20
(<number>, <number>,<number>)
Move the cursor to the specified absolute
position.
[<number>,<number>,<number>]
Move the cursor to a certain offset from its
current position.
(<number>,<number>,<number>)-
(<number>,<number>,<number>)
Create a vertex at each location, unless one
already exists. Join them with an edge.
Edges built this way may be chained into any
length of curve. If the first and last vertices
in a list of joined vertices match, then the list
describes a closed loop. A closed loop of
only three edges creates a face.
MACRO <character> <script commands> MEND
This command associates the sequence of
script commands with the specified character.
When the key corresponding to the character
is pressed, the commands are executed. If
any hot keys are set up with the ALT key,
macros will replace them. New hot keys will
override macros for the same key. No
modifier key, such as the Amiga keys, the
ALT keys or the shift keys may be used
when defining or using macros. If a font is
loaded, it will always take precedence over
hot keys and macros. After a font is
unloaded, macros and hot keys will start
working again.
Because the file "startup.script" is always executed when
Sculpt Animate is started, you can use this file to change the
default settings to customize your system and install personal
macros.
14-21
Batch mode
One additional automated method of operating the
program has been provided. Execute the command
PROJECT BATCH and an empty scene file list will pop up.
You can repeatedly click the ADD FILE gadget and select a
file to render in the file requester that will appear. No more
than 14 files may be selected. Click on a file's name in the
batch list to remove it. When you click OK, the program
will begin rendering an image for each scene. This
command is convenient if you want to make several images
and you do not wish to remain near the computer.
Alternatively, you may prepare a script file to do the same
thing.
Conclusion
Now that you have mastered Sculpt Animate you can use
the reference manual in the appendix if you forget how a
particular command works.
The scenes that you can build with Sculpt Animate are
limited only by your imagination and the amount of memory
on your Amiga. Enjoy the product and enrich the world
with your creations!
14-22
APPENDIX A
SCULPT ANIMATE
FUNCTIONAL REFERENCE
The geometry of Sculpt Animate
The Tri-View is a rectangular block of space that is
represented by three windows showing wire frame
projections of the contents of the Tri-View. The size and
shape of the Tri-View may be changed.
The geometry of surfaces is defined by vertices, edges
and faces. A vertex is a single point in space. It may be
selected or unselected. Vertices are never visible in the
images, but are displayed in the Tri-View either as purple for
unselected vertices or yellow for selected vertices.
An edge may be created between two vertices. An edge
is displayed in the Tri-View as a dark line. Edges are not
displayed in images, except in wire frame mode. An edge is
considered to be selected if both its vertices are selected.
A face is created whenever three vertices are joined by
three edges so each face is triangular. Faces are not
explicitly shown in the Tri-View, but they are displayed in
the images generated by Sculpt Animate. Faces have a
specified color, texture and smoothness. The color is
defined by the reflection coefficients for red, green and blue
light. The coefficients range from zero to one hundred
percent. The texture may be either dull, shiny, mirror,
luminous, glass, or metal. If a face has the smoothness
property, it is curved so as to blend with adjacent faces.
The location of the observer in the Tri-View is shown by
a small blue circle. The position of the observer's target is
shown by a small blue x. The position of any lamps are
shown by a small white star.
A-1
The Tri-View Gadgets
DRAG BAR GADGET
This is a standard Intuition gadget located in the upper
border of each window. It is used to drag the window to a
new location on the screen.
THE BACK GADGET AND THE FRONT GADGET
These are standard Intuition gadgets that change the
depth arrangement of windows on the screen.
THE REVERSE GADGET
This reverses the viewing direction of a Tri-View
window. The first window is normally a downward view.
Pressing this gadget will make it an upward view. This is
achieved by replacing the contents of the window by its
mirror image, thus the first window will have east on the left
and west on the right.
THE MOVE TRI-VIEW GADGETS
These gadgets are located in the center of each border
and cause the Tri-View to move in the indicated direction.
The effect is to make the contents of the Tri-View move in
the opposite direction. Holding down the left Amiga key
while using a Move Gadget causes the size of the move to be
smaller than usual. If the right Amiga key is depressed, the
Move Gadget moves the Tri-View further than usual.
A-2
THE EXPAND TRI-VIEW GADGET
This gadget causes the Tri-View to expand. If it is used
with the left Amiga key, the expansion is small. If it is used
with the right Amiga key, the expansion is large. The
expansion can be made larger or smaller still by using the left
or right ALT keys instead of the Amiga keys.
THE SIZING GADGET
This is a standard Intuition gadget for changing the size
of a Tri-View window. Since each window represents a
block of space, changing one window's size will result in
one or more other windows changing size also.
THE CONTRACT TRI-WINDOW GADGET
This gadget causes the Tri-View to contract. If it is used
with the left Amiga key, the contraction is small. If it is used
with the right Amiga key, the contraction is large. The
contraction can be made larger or smaller still by using the
left or right ALT keys instead of the Amiga keys.
THE CENTER TRI-VIEW GADGET
This gadget causes the Tri-View to move so that the
cursor is left in the center of the Tri-View. If the gadget is
used while the left Amiga key is held down, the Tri-View
windows are re-sized to their default size. If the gadget is
used in conjunction with the right Amiga key, the Tri-View
is centered on the default origin.
A-3
THE GRABBER GADGET
This gadget can be toggled on or off. If the Grabber is
on, all of the selected vertices will move when the cursor is
moved. The Grabber is always turned off when the right
mouse key is pressed to pull down a menu. When the
Grabber is active, the icon for the cursor shows a small
Grabber icon on the upper crosshair. If the Grabber is used
when no vertices are selected, and the cursor indicates a
lamp, then the Grabber can be used to move the lamp.
THE EDGE BUILDING GADGET
If either two or three vertices are selected, then edges are
constructed between the selected vertices. If nothing
happens when you use this gadget, except that the screen
flashes at you, it means that there are more than three
selected vertices. Perhaps the extra vertices are outside the
Tri-View, or you may have two vertices occupying the same
position, both selected.
THE SELECT GADGET
This gadget changes the selection state of all vertices
within the Tri-View. If one or more vertices in the Tri-View
are selected, then they will be unselected. If no vertices in
the Tri-View are selected, than all the vertices in the Tri-
View will be selected. In either case, the state of vertices
outside the Tri-View are unchanged.
THE ROTATE GADGETS
These gadgets cause selected vertices to rotate about the
cursor in the indicated direction. Normally the vertices are
rotated by 5 degrees for each click on the gadget. If the left
Amiga key is held down, then the rotation is by one degree.
A-4
If the right Amiga key is held down the rotation is by 45
degrees. If the gadget is used with the left ALT key the
rotation is 0.1 degrees. If it is used with the right ALT key,
the rotation is 180 degrees.
NON-STANDARD USE OF THE MOUSE BY THE TRI-
VIEW
When the left mouse button is pressed down, and the
pointer is over a Tri-View window, then the current tool is
dragged by the mouse. Special actions take place when a
specific tool is picked, see the descriptions for
TOOLS/SELECTOR, TOOLS/DESELECTOR,
TOOLS/MAGNET, TOOLS/CURVE, TOOLS/EXTRUDE,
TOOLS/EDGE MAKER and TOOLS/GRABBER for more
details. When the default tool is active, the cursor is
represented by a blue cross and the following actions
happen:
If the left mouse button is pressed, the cursor is moved
to the pointer position. If the left button is held down while
the mouse is moved, then the cursor will move.
If the right mouse button is pushed while the left button
is held down, then a new vertex is created at the cursor
position.
If the cursor is moved very close to a vertex in one
window of the Tri-View, and the left mouse button is double
clicked, the vertex will be selected if it was unselected, or
vice versa. The cursor will snap to the location of the vertex
in the other two windows.
If an image is being displayed on the screen, it may be
pushed behind the Tri-View screen by first clicking on the
image. The pointer will disappear. If the right mouse button
is pressed, the image will be pushed behind the Tri-View
screen.
A-5
Menu Commands
The menu commands are shown below. Each command
is broken into two or three parts with a slash character (/)/
The first part is the menu heading, the second part is the
menu item, and the third part, if present, is the menu
subitem
PROJECT/LOAD/SCENE
This command invokes a file requester that displays the
names of files that contain scenes. See the description of file
requesters. If a scene file is selected, Sculpt Animate opens
the file and a requester pops up asking which portions of the
file are to be loaded. A scene may contain data on objects.
lamps, the observer or the world. Click on the boxes to
toggle them between YES and NO to specify which parts of
the file are to be loaded. Click on the OK button to start
loading. A bow is also available to let you specify if you
want objects in the scene to be loaded in a selected or
unselected state.
Any objects of lamps that are loaded will be added,
preexisting lamps or objects will be retained. If an observer
or world is loaded, these attributes will override any existing
observer or world attributes.
PROJECT/LOAD/IMAGE
This command invokes a file requester and displays the
names of files that contain images. If a file is selected, the
image is displayed.
PROJECT/LOAD/OBJECT
This command invokes a file requester and displays the
names of files that contain scenes. If a file is selected, any
objects that are found in the file are loaded at a position
relative to the cursor.
A-6
PROJECT/LOAD/SCRIPT
This command invokes a file and displays the names of
script files. Script files may be prepared with a text editor
and contain commands that Sculpt Animate can execute. The
command syntax is described in Chapter 14. If a file is
selected, the script commands are executed.
PROJECT/LOAD/NAMED OBJECT
This command invokes a hierarchy requester. If a name
is selected, then a scene file requester is displayed. If a file
is selected then the objects in the scene are loaded and added
into the hierarchy at the location chosen in the hierarchy
requester.
PROJECT/LOAD/TAKE
A file requester is invoked that lets you select a Take.
PROJECT/LOAD/ANIMATION
A file requester is invoked that lets you select an
animation. If you select a file, the animation is loaded into
memory and may be displayed with the command
PROJECT/SHOW/ANIMATION
The current animation is displayed.
PROJECT/LOAD/FONT
A file requester is invoked that lets you select a font. If a
font is selected, it is loaded and subsequent keystrokes will
cause appropriate objects to be loaded, if the font contains
objects corresponding to the keystrokes. The objects are
loaded into the current window and the cursor is moved by
an amount equal to the size of the object.
A-7
PROJECT/LOAD/CODE
If this command is executed, an attempt will be made to
keep all the program code in memory. If free memory falls
below a prescribed minimum, then some code will be
unloaded.
PROJECT/LOAD/WORKBENCH
An attempt will be made to load the Amiga Workbench.
PROJECT/SAVE/SCENE
This command causes the current scene to be written to
the disk. A file requester pops up to solicit the name of a
file. If a file name is chosen, a requester will then pop up
asking which parts of a scene are to be saved. You may
click on the boxes to toggle them from YES to NO. In
addition you may specify if all objects are to be saved, or
only the selected objects. Click on the box to toggle it
between ALL and SELECTED. If the OK gadget is
selected, the specified parts of the scene will be written to the
file that was named earlier.
PROJECT/SAVE/IMAGE
This command is only available if an image has been
rendered or loaded. It causes the current image to be written
to the disk. A requester pops up to solicit the name of a file.
PROJECT/SAVE/OBJECT
This command causes selected objects in the current
scene to be written to the disk. A requester pops up to solicit
the name of a file. When the objects are written to the disk,
their positions are taken to be relative to the cursor.
PROJECT/SAVE/NAMED OBJECT
This command invokes a hierarchy requester. If you
select a name, then a file requester will pop up. After
selecting a file, then objects with the chosen name are saved
A-8
to the scene file with hierarchy names derived by stripping
off the parent of the current name.
PROJECT/SHOW/IMAGE
If an image is loaded, then it will be displayed on the
screen. The image can be pushed back by pointing at the
image and first clicking with the left mouse button and then
clicking with the right mouse button.
PROJECT/SHOW/ANIMATION
If an animation is loaded, it is displayed. The animation
can be stopped by clicking the right mouse button or by
pressing the escape key. The speed of the animation can be
changed by pressing the keys 0 to 9.
PROJECT/SHOW/PREVIEW
If an animation is loaded into memory, it is displayed.
The preview can be stopped by clicking with the right mouse
button or by pressing the escape key. The speed of the
animation can be changed by pressing the keys 0 to 9.
When a preview is stopped, you will be asked if you wish to
unload it.
PROJECT/UNLOAD/IMAGE
If an image is loaded, it is removed, and the memory that
it used is made available for other purposes.
PROJECT/UNLOAD/ANIMATION
If an animation is loaded, it is removed, and the memory
that it used is made available for other purposes.
PROJECT/UNLOAD/PREVIEW
If a preview is loaded, it is removed, and the memory
that it used is made available for other purposes.
A-9
PROJECT/UNLOAD/FONT
If a font is loaded, it is unloaded and keys resume their
normal operation as hot keys or macros.
PROJECT/UNLOAD/CODE
All unneeded code is removed from memory unit it is
needed. As soon as code is no longer needed, it is again
unloaded.
PROJECT/UNLOAD/WORKBENCH
An attempt is made to remove the Amiga Workbench.
This will fail if a CLI window is present.
PROJECT/BATCH
A requester pops up that allows you to select one or
more scene files. Images are then rendered for each of the
selected files.
PROJECT/ABOUT
The version number and other information about Sculpt
Animate is displayed.
PROJECT/QUIT
After verifying that this is your intention, Sculpt Animate
stops operating and returns control to the workbench or CLI.
EDIT/SELECT/ALL
All vertices, and hence all edges and faces, become
selected.
EDIT/SELECT/CONNECTED
All vertices that are connected, directly or indirectly, to
the indicated vertex become selected. If a vertex lies within a
few pixels of the cursor in the active window of the Tri-
A-10
View, this vertex is considered the indicated vertex. If more
than one vertex meets this criteria and they are distributed in
depth, then the indicated vertex is the one that is closest to
the cursor in the depth direction.
EDIT/SELECT/INDICATED VERTEX
The vertex that is indicated by the cursor is selected.
EDIT/SELECT/SWAP
All selected vertices become deselected and vice versa.
EDIT/SELECT/INDICATED EDGE
If an edge is indicated by the cursor, then the two
vertices that define the edge are selected.
EDIT/SELECT/INDICATED SPLINE
If the cursor indicates a vertex that is part of a spline,
then all the knots on the spline are selected.
EDIT/SELECT/INDICATED PATH
If the cursor indicates a path, then all the vertices on the
path are selected.
EDIT/DESELECT/ALL
All vertices, and hence all edges and faces become
deselected.
A-11
EDIT/DESELECT/CONNECTED
All vertices that are connected, directly or indirectly, to
the indicated vertex become deselected. If a vertex lies
within a few pixels of the cursor in the active window of the
Tri-View, this vertex is considered the indicated vertex. If
more than one vertex meets this criteria and they are
distributed in depth, then the indicated vertex is the one that
is closest to the cursor in the depth direction.
EDIT/DESELECT/INDICATED VERTEX
The vertex that is indicated by the cursor is selected.
EDIT/DESELECT/SWAP
All selected vertices become deselected and vice versa.
EDIT/DESELECT/NAMED VERTICES
A hierarchy requester will be invoked. After selecting a
name, if the OK button is pressed, all the named vertices will
be deselected.
EDIT/DESELECT/INDICATED EDGE
If an edge is indicated by the cursor, then the two
vertices that define the edge are deselected.
EDIT/ERASE/SELECTED VERTICES
All selected vertices are erased. Any edges and faces that
are defined by these vertices are also erased.
EDIT/ERASE/SELECTED EDGES
All selected edges are erased. Any faces that are defined
by these edges are also erased. A selected edge is one that
has a selected vertex at each end.
A-12
EDIT/ERASE/INDICATED VERTEX
The vertex that is indicated by the cursor is erased.
EDIT/ERASE/INDICATED EDGE
The edge that is indicated by the cursor is erased.
EDIT/ERASE/INDICATED LAMP
The indicated lamp is erased. If a lamp lies within a few
pixels of the cursor in the active window of the Tri-View,
this lamp is considered the indicated lamp. If more than one
lamp meets this criteria and they are distributed in depth,
then the indicated lamp is the one that is closest to the cursor
in the depth direction.
EDIT/ERASE/ALL LAMPS
All lamps are erased.
EDIT/ERASE/NAMED VERTICES
A hierarchy requester will pop up. If a name is selected
and the OK button pressed, all named vertices will be
erased.
EDIT/ERASE/INDICATED SPLINE
If the indicated vertex is a member of a spline, then the
spline is erased. Only the underlying spline structure is
erased, the vertices and edges belonging to the spline
remain.
EDIT/ERASE/INDICATED PATH
If the indicated vertex is a member of a path, then the
path is erased. Only the underlying path structure is erased,
the vertices and edges belonging to the path remain.
A-13
EDIT/ERASE/ALL
All vertices, edges and lamps are erased. If a take is
loaded, you will be asked if you want to have the take
erased. Erasing a take only removes the take in memory.
The copy of the take on disk still remains.
EDIT/MODIFY/FACES
The modify faces requester is invoked. It can be used to
change the default color, texture and smoothing for yet to be
created faces. it can also examine and change the color,
texture and smoothness of selected faces.
EDIT/MODIFY/MODIFY LAMPS
The modify lamps requester is invoked. It can be used
to change the default color and brightness that is used for
newly created lamps. It can also examine and change the
color and brightness of either an indicated lamp or all
existing lamps.
EDIT/MODIFY/WIRE-FRAME COLORS
This command invokes a color requester that can be used
to modify the background color and the color used to draw
edges for wireframe and preview renderings. Click on the
button at the top right to toggle between FIELD and LINES,
and use the color sliders in the usual manner.
EDIT/MODIFY/LOCAL ORIGIN
A hierarchy requester is invoked. Use the SET button to
set the local origin to the cursor position. Use the LOCK
button to lock the local origin onto an indicated vertex. The
SHOW button will move the cursor to the local origin.
EDIT/MODIFY/INDICATED KNOT
The modify knot requester is invoked, it can be used to
modify the parameters of a spline. See Modify Knot,
below.
A-14
EDIT/MODIFY/INDICATED TUMBLE
The cursor must indicate a vertex that lies on a path. The
Modify Tumble requester is invoked, which can be used to
modify the orientation of the tumble axes, see Modify
Tumble, below.
EDIT/MODIFY/TAKE
If a Take is loaded, this command invokes the Modify
Take requester, see below. This requester acts as a control
panel for creating, modifying and rendering animations.
EDIT/DO/EXPAND A requester is invoked that can be used
to expand the set of selected vertices.
EDIT/DO/SUBDIVIDE
This operation divided each selected edge into two.
Additional edges are created to ensure that subdivided faces
remain triangulated. The effect is that faces that are selected
are split into four, while faces that have two selected vertices
are divided into two.
If only two vertices are selected, and they are not joined
by an edge, then a requester pops up asking how many
vertices to insert. Vertices are uniformly spaced between the
two selected vertices and all are linked by edges.
EDIT/DO/SPIN
The spin operation takes place in the active Tri-View
window. Each selected edge is swept around the spin axis
creating new faces. Each selected vertex is swept around the
spin axis creating new edges. The spin axis is horizontal on
the screen and passes through the cursor position.
Normally the spin operation is applied to a sequence of
connected edges created with the curve tool. It then
produces a surface of revolution about the horizontal axis.
You are first asked how many steps are required for the
spin operation. Then you are asked for a sweep direction.
A-15
EDIT/DO/FILL
In order for this command to operate, the selected
vertices must all lie on a single plane. In addition the
selected edges must form one or more closed loops. The
loops must not intersect one another. The FILL command
constructs new edges so that the interior of each loop is fully
triangulated. If one loop lies entirely inside another, then
that loop is regarded as a hole for the purpose of filling. For
example, if the fill command is applied to two concentric
circular loops, a filled annulus will be produced.
EDIT/DO/UNSLICE
This command treats the selected vertices as slices
through an object. All the selected vertices must be members
of closed loops. Each loop must lie in a plane. Each plane
must be parallel and distinct. The loops are connected to
approximate the object defined by the slices.
EDIT/DO/REFLECT
The selected vertices and edges are duplicated by
reflecting them in a plane defined to be vertical and to pass
through the cursor location in the current Tri-View window.
Any vertices in the plane of reflection are not duplicated.
EDIT/DO/MAKE HELIX
A helical or spiral object is created by rotating the
selected vertices and edges around a spin axis while
changing the radius and distance along the axis. The spin
axis is horizontal in the current Tri-View window. The
radial and axial displacements are determined in one of two
ways.
If there is no indicated vertex, the selected vertices must
lie on a non-looping curve. The end points of the curve
represent radial and axial offsets for one rotational sweep.
The object created is a single surface, one turn is connected
to the next.
A-16
If there is an indicated vertex, then it must be one end of
a non-looping curve called the control curve. Each vertex,
except for the first, represents a radial and axial offset for
one sweep rotation. Offsets for angles other than multiples
of 360 degrees are calculated by smooth interpolation or
extrapolation.
In either case you will be prompted for a number of steps
per turn and a total number of sweep steps.
EDIT/DO/MAKE SPLINE
All the selected vertices must lie on a single curve. Each
vertex on the curve must be joined to two other vertices with
edges, except for the two end vertices that are connected to
one vertex with an edge. Alternatively, the curve may be a
closed loop with every vertex being joined to two other
vertices with edges. A spline will be created and the selected
vertices will become knots. Small arrowheads will be drawn
on the edges near the knots.
EDIT/DO/MAKE PATH
The cursor must be placed on the vertex that is to be the
starting point of a path. Vertices connected to this vertex
must lie on a single curve or loop. If the path is to be a loop,
the second vertex on the path must be the only selected
vertex. If these conditions are satisfied, the curve becomes a
path.
EDIT/DO/SHOW PATH POSITION
If a Take is loaded, the cursor will be moved to the
vertex on an indicated path that corresponds to the path
position for the current frame.
EDIT/DO/HIDE SELECTED VERTICES
Any selected vertices become hidden. They do not show
in the Tri-View, and they cannot become selected. By
hiding vertices, they can be excluded from many operations
A-17
that require selection. Tri-View refresh is faster if most
vertices are hidden.
EDIT/DO/REVEAL HIDDEN VERTICES
All hidden vertices are made non-hidden.
EDIT/DO/MAKE TRI-VIEW SMALL
This command resizes the Tri-View windows to their
default size.
EDIT/DO/MAKE TRI-VIEW BIG
This command makes the Tri-View windows big enough
that they almost fill the screen.
EDIT/ADD/DUPLICATE
Each selected vertex and edge is duplicated. The
duplicates are created in an unselected state. The duplicates
occupy the same positions as the original, so they are not
visible unless the Grabber is used to move the originals to a
new location. This command may be used repeatedly as the
original object is dragged from one location to another, in
order to create multiple copies of the object.
EDIT/ADD/SPHERE
Add a pseudo-spherical polyhedron. A requester asks
how many subdivisions of an icosahedron are required. A
value of zero yields a regular icosahedron with 20 faces.
Each extra subdivision quadruples the number of faces, so
storage can easily be exceeded. If smoothing is enabled,
even a course figure looks quite spherical.
The size of the sphere is chosen to fit inside the current
Tri-View volume with a small clearance.
A-18
EDIT/ADD/HEMISPHERE
Add a polyhedron shaped like a solid hemisphere. A
requester asks how many subdivisions are required. The
larger the value, the more closely the object resembles a
hemisphere.
The size of the hemisphere is chosen to fit inside the
current Tri-View volume with a small clearance.
EDIT/ADD/CUBE
A cube is constructed whose size is chosen to fit inside
the current Tri-View volume with a small clearance.
EDIT/ADD/PRISM
A prism is constructed whose size is chosen to fit inside
the current Tri-View volume with a small clearance.
EDIT/ADD/DISK
A disk is constructed whose size is chosen to fit inside
the current Tri-View volume with a small clearance.
EDIT/ADD/CIRCLE
A circle is constructed whose size is chosen to fit inside
the current Tri-View volume with a small clearance.
EDIT/ADD/CYLINDER
A cylinder is constructed whose size is chosen to fit
inside the current Tri-View volume with a small clearance.
EDIT/ADD/TUBE
A tube is constructed whose size is chosen to fit inside
the current Tri-View volume with a small clearance.
A-19
EDIT/ADD/CONE
A cone is constructed whose size is chosen to fit inside
the current Tri-View volume with a small clearance.
EDIT/ADD/LAMP
A lamp is created at the cursor location with the current
brightness and color.
EDIT/ADD/VERTEX
A vertex is created at the cursor position. The vertex is
selected.
EDIT/ADD/EDGES
This command has the same effect as clicking on the
edge builder gadget.
EDIT/SNAP/CURSOR TO VERTEX
The cursor is moved to the location of the nearest vertex.
EDIT/SNAP/CURSOR TO CENTER
The cursor is snapped to the center of the selected
vertices.
EDIT/SNAP/CURSOR TO CENTROID
The cursor is snapped to the centroid of the selected
vertices.
EDIT/SNAP/CURSOR TO GRID
The cursor is moved to the nearest grid location.
EDIT/SNAP/SELECTED VERTICES TO GRID
Each selected vertex is moved to the nearest grid
location.
A-20
EDIT/SNAP/CONNECTED VERTICES TO SPHERE
The cursor must be placed over a vertex. The vertices
that are connected to this vertex are examined and the size of
a rectangular box that would just contain the vertices is
determined. The vertices are moved radially from the center
of the box until they lie on the surface of a sphere whose
diameter is equal to the longest side of the box.
The effect of this command is to make an object
approximate a sphere. The approximation will be quite good
if the object has many faces.
EDIT/SNAP/SELECTED VERTICES TO PLANE
A plane is calculated that best fits the set of selected
vertices. The selected vertices are moved so as to lie in the
plane.
EDIT/NAME/SELECTED VERTICES
A hierarchy requester is invoked. After choosing or
creating a hierarchy name, the selected vertices are given the
current name when the OK gadget is pressed.
EDIT/NAME/CONNECTED VERTICES
A hierarchy requester is invoked. After choosing or
creating a hierarchy name, the vertices that are connected to
the indicated vertex are given the current name when the OK
gadget is pressed.
EDIT/NAME/INDICATED PATH
A hierarchy requester is invoked. After choosing or
creating a hierarchy name, the indicated path is given the
current name when the OK gadget is pressed.
A-21
EDIT/NAME/INDICATED LAMP
A hierarchy requester is invoked. After choosing or
creating a hierarchy name, the indicated lamp is given the
current name when the OK gadget is pressed.
EDIT/GRID/ON
A requester pops up asking for a grid size. The grid size
should be given in units of the least significant digit of a
coordinate display. Unless the grid spacing is less than a
few pixels, the grid is drawn in the Tri-View windows.
EDIT/GRID/OFF
The grid display is turned off.
EDIT/COORDINATES
This command causes a coordinate window to pop up.
Before the window is displayed, a prompt is given for the
location of the decimal point for numerical values. This
window can be dragged to any part of the screen and depth
arranged. The window can be removed with its close
gadget. The window displays the current position of the
cursor measured eastward, northward and upward of an
origin which can be reset with the X-shaped gadget at the
lower right of the window.
In addition, the window also displays the distance
between two selected points. These points can be set by
using the End Point Gadgets. If an End Point Gadget is
pressed, the end point is either the vertex indicated by the
cursor, or the current cursor position. If a vertex is specified
as an end point, then the end point moves if the vertex is
moved. The end points are represented by end point icons in
the Tri-View windows. When an end point is locked to a
vertex, it is shown in purple, otherwise in blue.
The gadget on the lower left of the window can be used
to set an angle marker, or lock it to a vertex, in a similar
manner to the end points. The box to the left of the angle
A-22
marker shows the angle from one end point marker to the
angle marker to the other end point marker.
If you click on one of the three coordinate value boxes,
you can enter or edit the value and the cursor will move to
the specified location.
TOOLS/SELECTOR
This command picks the selector tool. It is represented
in the Tri-View by a yellow square. It represents a cube in
space. Any vertices that enter the cube become selected.
The tool may be dropped by pressing the right mouse
button.
TOOLS/DESELECTOR
This command picks the deselector tool. It is
represented in the Tri-View by a purple square. It represents
a cube in space. Any vertices that enter the cube become
deselected. The tool may be dropped by pressing the right
mouse button.
TOOLS/MAGNET/ATTRACT
The magnet tool is selected and is placed in attract mode.
The tool is represented by an image of a horseshoe magnet.
If the left mouse button is held down and the right mouse
button is clicked, all selected vertices are moved towards the
magnet. The strength of the attraction falls off inversely as
the square of the distance between the vertex and the magnet,
except when the vertex is very close to the magnet, when the
attraction varies directly with the distance. The magnetic
attraction is increased if the magnet is operated with the right
Amiga key pressed down. The attraction is reduced if the
left Amiga key is down when the magnet is operated. The
tool may be dropped by pressing the right mouse button.
TOOLS/MAGNET/REPEL
The magnet tool is selected and is placed in repel mode.
The tool is represented by an image of a horseshoe magnet.
A-23
If the left mouse button is held down and the right mouse
button is clicked, all selected vertices are moved away from
the magnet. The strength of the repulsion falls off inversely
as the square of the distance between the vertex and the
magnet, except when the vertex is very close to the magnet,
when the repulsion varies directly with the distance. The
magnetic repulsion is increased if the magnet is operated
with the right Amiga key pressed down. The repulsion is
reduced if the left Amiga key is down when the magnet is
operated. The tool may be dropped by pressing the right
mouse button.
TOOLS/CURVE
The curve tool resembles the cursor crosshairs except
that the upper and right portions of the cursor are replaced by
an icon of a pencil. When the curve tool is picked and the
left mouse button is held down and the right mouse button is
clicked, a new vertex is created and an edge is constructed
from this vertex to the previous vertex, except if this is the
first vertex made with this invocation of the curve tool.
Prior to creating an edge, a rubber band line is drawn from
the previous vertex to the cursor so as to indicate where an
edge could be created. If the curve tool is indicating an
existing vertex when the right button is clicked, then the
previous vertex will be joined to the indicated vertex with an
edge. The tool may be dropped by pressing the right mouse
button or by the act of building an edge to an indicated
vertex.
TOOLS/EXTRUDE
The extrude tool duplicates the selected object and joins
the duplicate and the selected object. Edges are linked to
create new faces only if the edge is a part of not more than
one face. This means that 'interior' edges do not extrude
into faces. The Grabber tool is activated. If you move to
another window and move the cursor, the selected object is
dragged, while the duplicate is fixed. The effect is to
extrude a two dimensional shape into a three dimensional
solid. Remember to drop the Grabber when the extrusion is
complete.
A-24
TOOLS/EDGE MAKER
The edge maker is used to join existing vertices with
edges. A vertex is marked by moving the cursor to the
vertex and while holding down the left mouse button,
clicking with the right mouse button. The first and second
marked vertices are joined by and edge, the third and fourth,
etc. Prior to creating an edge, a rubber band line joins the
previous vertex to the cursor to indicate the location that an
edge would have.
TOOLS/GRABBER
This command has the same effect as clicking on the
Grabber gadget in a Tri-View window.
OBSERVER/MODE/WIRE FRAME
This command sets the observer in wire frame mode.
Rendered images only show edges and not faces. The
perspective is correct.
OBSERVER/MODE/SKETCH
This command sets the observer in SKETCH mode.
Sketch mode is similar to painting mode, described below,
except that rendering is faster, but intersecting faces are not
treated correctly and sometimes a face is drawn in front of
another face when it should be drawn behind.
OBSERVER/MODE/PAINTING
This command sets the observer in painting mode. A
painting is an image where each face is represented by a
single color and no shading is portrayed across a face.
Shadows are not rendered. The image is produced rapidly,
and no significant speed improvement is achieved if the
image size is reduced.
A-25
OBSERVER/MODE/SCANLINE PAINTING
This sets the observer to use a variation of painting
mode. The image will be rendered more quickly for
complicated scenes.
OBSERVER/MODE/SCANLINE SNAPSHOT
This sets the observer to use another variation of
snapshot mode, described below, except that reflections will
not be shown. The image will again be rendered more
quickly for complicated scenes. Full 4096 color images are
produced.
OBSERVER/MODE/SNAPSHOT
This command sets the observer in snapshot mode. A
snapshot is a ray traced image that excludes the effects of
shadows. The time taken to produce an image is
proportional to the image size, so small images can be
produced much more quickly than large images.
OBSERVER/MODE/PHOTO
This command sets the observer in photo mode. A
photo is a ray traced image that includes the effects of
shadows. The time taken to produce an image is
proportional to the image size, so small images can be
produced much more quickly than large images. Photos take
longer to generate than snapshots.
OBSERVER/MODE/LO-RES
This specifies that images are to made in Amiga low
resolution mode with approximately 320 pixels across the
screen.
OBSERVER/MODE/HI-RES
This specifies that images are to be made in Amiga high
resolution mode with approximately 640 pixels across the
A-26
screen. If Hold and Modify (HAM) graphics are employed,
low resolution is used.
OBSERVER/MODE/NO-INTERLACE
This command specifies that images are to be produced
without interlace, so that approximately 200 pixels are used
in the vertical direction.
OBSERVER/MODE/INTERLACE
This command specifies that images are to be produced
with interlace, so that approximately 400 pixels are used in
the vertical direction. Some screen flicker may be perceived
with a short persistence monitor.
OBSERVER/MODE/BITPLANES
This command enables you to set up a smaller than
normal number of colors for non-HAM rendering. The
number of colors is two raised to the power of the number of
bitplanes that you specify. If you request 24 bitplanes, then
no image is produced, but image data is written to three files.
You will be asked to specify screen and pixel size.
OBSERVER/LOCATION
The location of the observer is moved to the cursor
position. The observer's location is portrayed in the Tri-
View by a small blue circle.
OBSERVER/TARGET
The observer's target is moved to the cursor position.
The observer's target is portrayed in the Tri-View by a small
blue x. The target position will be in the center of any
images that are produced.
OBSERVER/LENS/NORMAL
This command sets the width of view to correspond to
that of a 50mm lens on a 35mm camera.
A-27
OBSERVER/LENS/WIDEANGLE
This command sets the width of view to correspond to
that of a 28mm lens on a 35mm camera.
OBSERVER/LENS/TELEPHOTO
This command sets the width of view to correspond to
that of a 135mm lens on a 35mm camera.
OBSERVER/LENS/SPECIAL
This will invoke a requester for the focal length of a non-
standard lens. Enter the value in millimeters. A small value,
like 20, corresponds to a wide view, whereas a large
number, like 100, corresponds to a narrow view where
distant objects seem closer.
OBSERVER/EXPOSURE/AUTO
This command instructs Sculpt Animate to determine the
screen brightness automatically.
OBSERVER/EXPOSURE/MANUAL
This command overrides the automatic exposure setting.
Numbers larger than 100 cause the image to be brighter,
values less than 100 cause the image to be darker.
OBSERVER/IMAGE SIZE/TINY
This command causes subsequent images to be made
that are 1/8 of the full screen size.
OBSERVER/IMAGE SIZE/SMALL
This command causes subsequent images to be made
that are 1/4 of the full screen size.
A-28
OBSERVER/IMAGE SIZE/MEDIUM
This command causes subsequent images to be made that
are half of the full screen size.
OBSERVER/IMAGE SIZE/FULL
This command causes subsequent images to be made that
are the full screen size.
OBSERVER/IMAGE SIZE/JUMBO
This command causes subsequent images to be made that
are larger the full screen size.
OBSERVER/IMAGE SIZE/VIDEO
This command causes subsequent images to be made that
are taller the jumbo screen size.
OBSERVER/TILT
A requester is summoned to obtain an angle that the
image is to be rotated. A value of 90 can be used to produce
vertical format images.
OBSERVER/ANTI-ALIASING/NONE
No anti-aliasing is used for maximum rendering speed.
OBSERVER/ANTI-ALIASING/GOOD
A simple anti-aliasing scheme is employed that does not
incur a large penalty in computing time.
OBSERVER/ANTI-ALIASING/BEST
An anti-aliasing scheme is employed that will incur a
moderate penalty in computing time.
A-29
OBSERVER/ANTI-ALIASING/DITHERING
A requester is invoked that asks you what percentage of
standard dithering is required. Values in the range of 0 to 200
are useful.
OBSERVER/DISPLAY/EARLY
Images are usually not displayed until they are fully
rendered. This setting declares that images should be
displayed as rendered, if system resources permit.
OBSERVER/DISPLAY/LATE
This re-instates the normal displayed image display.
OBSERVER/START
This command initiates image generation. When a photo
or a snapshot is being generated, the grinding gear wheel
icon vanishes after a short time and all Sculpt Animate
commands (except OBSERVER/STATE) may be executed
without changing the image as it is produced. The image
screen can be pushed behind the Tri-View screen by clicking
on the image first with the left button and then with the right
button.
OBSERVER/ABORT
This command will terminate any image generation.
OBSERVER/STATUS
This command will enable or disable the status line at the
top of the screen. It shows the following information.
The amount of unused chip memory.
The amount of unused fast memory.
The number of selected vertices.
A-30
The number of unselected vertices
The number of edges
The number of faces
The number of lamps
WORLD/SKY
This command invokes a sky requester, which closely
resembles the color requester. The gadget at the top is a
three way toggle that can take the values NONE, SOLID or
GRADUATED. Click on the gadget to change its value.
When NONE is selected, no sky is generated, and the color
sliders are not used. If SOLID is selected, then a single
color sky is produced, and the color sliders can be used to
specify the color. The SOLID color is stored for use in
reflections and glass if the sky is subsequently set to NONE.
If GRADUATED is selected, the swatch of color at the
lower center of the requester splits in two. The upper half is
the sky color at the zenith (directly overhead), while the
lower half represents the color at the horizon. The two
colors will be blended at intermediate elevations from the
horizon. Either the upper or lower half of the swatch is
emphasized with a three sided border. Click on the swatch
to toggle the selection between the two halves. The color of
the selected half can be changed with the sliders.
Note that when a non-HAM rendering mode is specified,
the sky is displayed in a single color.
WORLD/GROUND
This command invokes a ground requester, which
closely resembles the color requester. The gadget at the top
is a three way toggle that can take the values NONE, SOLID
or CHECKERED. Click on the gadget to change its value.
When NONE is selected, no ground is generated, and the
color sliders are not used. If SOLID is selected, then a
ground plane is created and the color sliders can be used to
specify the ground color. If CHECKERED is selected, the
swatch of color at the lower center of the requester splits in
A-31
two. This represents the two colors of a checkerboard
patterned ground plane. Either the upper or lower half of the
swatch is emphasized with a three sided border. Click on
the swatch to toggle the selection between the two halves.
The color of the selected half can be changed with the
sliders.
When CHECKERED is selected, the gadget resembling
a checkerboard at the top right of the requester becomes
active. It is called the Checkerboard Scale Gadget. If this
gadget is clicked, the size of squares that are generated on
the ground is set equal to the longest dimension of the Tri-
View windows.
WORLD/ILLUMINATION
This command invokes a color requester that can be used
to set the brightness and color for background illumination.
This light source bathes the entire scene without casting
shadows. Normally the V value should be set at about 1/4 to
prevent shadows from being totally black. Too high a value,
or the absence of lamps will result in a flat and lifeless
image.
The file requester
This requester is used to select new or existing files. It
has three main panels. The panel on the upper right lists the
currently mounted disk volumes. To select a new volume,
double click on the volume you need. If more than six
volumes are present, the scroll bar or the scroll gadgets can
be used. The currently selected volume is highlighted.
The panel on the upper left works in a similar manner,
but shows the drawers on the current volume. Either double
A-32
click on drawer, or type in the name of the box immediately
above the panel. The first item in the panel is marked '/
Parent Directory' and is used to select the drawer containing
the current list of drawers. Using this panel you can traverse
a set of nested drawers.
The panel on the lower left is used to select files once the
volume and drawer have been selected. Again double click
on the file or enter a name in the box above the panel. To
create a new file, of course, you must enter its name.
Additional buttons allow you to rename or delete files.
The OK button can be used to select a file, if the desired file
has been highlighted by clicking on it.
The hierarchy requester
Sculpt Animate makes use of a hierarchy of names to
represent complicated objects and composite motions. The
names are linked to one another in a tree-like structure. In
the requesters that use the hierarchy, a name can be linked to
one name to the left. The name to the left is called a parent,
by analogy to a family tree. A name can also be linked to
many names on the right, these names are called offspring.
Because the hierarchy structure could be very large, only
a portion of it is displayed at a given time. Up to nine names
that share a common parent are displayed one above another.
The name in the center of the list is the 'current name', i.e.
the name under consideration. You can click on a name to
make the list move so that that name becomes the current
name. Also you can use the scrolling gadgets to select the
current name.
A new name can be added to the current generation by
clicking on the box titled 'Add name:' and typing in a new
name. When you press return, the name will be inserted into
the current generation in alphabetic order. It does not matter
if names are entered in lower case or upper case. 'JOE' is
regarded as the same as 'joe'.
A-33
The gadget marked OFFSPRING can be used to move to
the right in the tree. Any names added will then be the
offspring of the previous current name. The box titled
'Parentage' displays a list of parents, grandparents, etc. of
the current name. If the list of ancestors is too big to fit in
the box, three periods will be shown to indicate that the list
is incomplete. If you click on the parentage box, you will
move to the left in the hierarchy structure, and the parent of
the current name will be come the new current name.
Once a name has been established, it can be given to one
or more vertices. A vertex cannot have more than one name
at a time. Giving it a new name will mean that it no longer
responds to the old name. Names can also be given to
paths, in which case all the vertices in the path will have the
same name. Names can also be given to lamps.
Names can be erased from the hierarchy with the ERASE
NAME gadget, in which case any objects having that name
will no longer be names.
When a global scene is loaded as a part of a frame, any
path in the hierarchy is treated as a request to move and
rotate the offspring that are attached to the path.
The hierarchy can be edited in a normal manner with the
gadgets CUT PASTE and COPY.
The expansion requester
This requester can be used to expand the set of selected
vertices. The expansion (or contraction) is uniform in the
selected directions and is directly away from either the
selected vertices CENTER or CENTROID, or the
CURSOR, as set by a gadget in the requester's title.
The expansion can take place in the north-south, east-
west, or up-down direction, or any combination selected by
buttons on the requester. Expansion may be done in discrete
steps of 2 times or 1/2, by pushing the appropriate buttons.
Alternatively the upper slider may be used. Moving it to the
A-34
right of center causes expansion, left of center causes
contraction. The lower slider may be used for fine
adjustment. It is 50 times less sensitive.
The expansion requester may be dragged to a new
location so that it does not obstruct the Tri-View. The drag
bar is at the top of the requester. If the CANCEL button is
pressed, the vertices revert to their positions before the
expansion was attempted.
Color requesters
Several requesters allow you to select a color. The color
may be changed by using sliders to set the red, green and
blue values. Alternatively, sliders can control the hue,
saturation and value. Hue varies continuously from red to
green to blue and back to red. Saturation represents the
purity of the color. As the saturation is decreased, more
white is mixed in. The value is a measure of the brightness
of the shade.
The modify faces requester
This requester is used to modify the current face color,
texture and smoothness. The color sliders work as
described above. The smoothing value can be toggled
between ON and OFF by clicking on the gadget. The texture
can be cycled through the range of possible values: DULL,
SHINY, MIRROR, LUMINOUS, GLASS and METAL by
clicking on the gadget. The cycle direction can be reversed
by holding down the ALT key while clicking on the gadget.
The face properties of selected faces can be modified by
pressing the appropriate SET gadgets. The face properties
of selected faces can also be extracted, if the properties of all
selected faces are the same, with the FETCH gadgets. In the
case of color, an average color can be extracted even when
the colors of selected faces differ, by the BLEND gadget.
A-35
The modify lamps requester is used to modify the current color and
brightness of lamps. If a lamp is indicated by the cursor,
then the gadget marked WHICH LAMP can be toggled
between ALL, meaning that all lamps are to be considered,
and INDICATES which means that only the indicated lamp
is to be considered.
Colors can be set in the usual way with the sliders.
FETCH and BLEND gadgets are provided for extracting the
color and brightness, while SET gadgets can be used to
change the properties of lamps.
The modify knot requester
This requester can be used to modify the parameters of a
knot. It has the following gadgets:
Knot type:
This gadget can be toggled between REGULAR and
CUSP. If the knot is a cusp, the knot has separate
parameters with regard to the curve on either side of the
knot. The side with the arrowhead pointing towards the
knot is called the inward side and the other side, with the
arrowhead pointing away from the knot, is called the
outward side.
Side:
If the knot is a cusp, this gadget can be toggled between
INWARD and OUTWARD. The side refers to which side
of the curve is to be modified by the parameters.
Slope:
This gadget can be toggled between CALCULATED and
SPECIFIED. If the gadget is set to CALCULATED, then
the slope of the spline is determined from the positions of
neighboring knots. If the slope is set to SPECIFIED, then
A-36
the slope can be adjusted by the Tri-View rotate gadgets,
while the requester is displayed. The slope is indicated by a
yellow arrow.
Speed
This parameter is controlled by a slider. Small values
will cause non-knot vertices to cluster near the not, and for
the curve to deviate quickly from the tangent.
CANCEL
This gadget removes the requester and returns the knot
parameters to their values before the requester is invoked.
OK
This gadget causes the requester to be removed and the
knot parameters to be accepted.
The modify tumble requester
When this requester is invoked, the tumble axes will be
displayed as follows: The east tumble axis will be shown by
a yellow line, the north tumble axis by a white line and the
up tumble axis by a purple line. The tumble axes can be
rotated by the Tri-View rotate gadgets.
The requester provides the following gadgets:
MATCH LAST
If you click on this gadget, the tumble axes are aligned to
be parallel with the tumble axes that were examined most
recently.
Method:
This gadget can be toggled between INTERPOLATED
and SPECIFIED. This gadget must be set to SPECIFIED to
be able to rotate the tumble axes. If it is set to
A-37
INTERPOLATED, the tumble axes will be calculated from
the orientation of adjacent specified tumble axes.
NEXT
This gadget will cause the cursor to be moved to the next
vertex on the path. The cursor will also be centered in the
Tri-View.
PREVIOUS
As above, except that the previous vertex on the path is
chosen.
The modify Take requester
This requester can be used to change the parameters of
the Take and to initiate various actions. The gadgets that are
available, in some cases depends upon the settings of other
gadgets. The following gadgets are available:
Take mode:
This gadget is always available, it can be toggled
between FRAME and GLOBAL. When it is set to
GLOBAL, only gadgets that relate to the animation as a
whole will be accessible. When it is set to FRAME, then
only gadgets that are relevant to a particular frame will be
available.
Number of frames:
This gadget can be used to enter the total number of
frames that are needed by the animation. RAM animation:
This gadget can be cycled through YES, NO and
ECONOMY". The ECONOMY style of RAM animation is
faster to produce, but employs less compression.
A-38
Loop mode:
This gadget can be cycled through NONE, LOOP and
OSCILLATE. This gadget is only available when the RAM
animation gadget is set to NO. If NONE is specified,
then any resulting animation will play once and then stop. If
LOOP is requested, then the animation will be repeated until
it is stopped manually. If OSCILLATE is set, the animation
will first be played forwards and then backward. This
sequence is repeated until the animation is stopped.
Frame controller:
This gadget is only available when RAM animation is set
to NO. The gadget can be set to YES or NO. When it is set
to YES, a file requester is invoked to let you specify a
driver for a single frame controller which serves as an
interface between the computer and an output device such as
a video tape recorder or a film recorder.
Frame buffer:
This gadget is only available when RAM animation is set
to NO. The gadget can be set to YES or NO. When it is set
to YES, a file requester is invoked to let you specify a
driver for a frame buffer which is a hardware device that
displays an image or produces a video signal.
Preview size:
This gadget can be toggled between FULL and HALF
and it controls the size of the wire frame preview display,
when the PREVIEW button is pressed.
Save images:
This gadget can be toggled between YES and NO.
Normally it is set to YES and all images that are rendered are
saved to disk. If the gadget is set to NO, then the images
may still be saved to disk, but they will be deleted as soon as
possible.
A-39
Motion blur:
This gadget can be toggled between YES and NO. If
motion blur is specified, the moving objects will seem to be
blurred slightly along the direction of motion.
Foreground:
This gadget can be used to enter the name of an image
that is to be treated as a foreground. The image should have
areas that are transparent, so that the animated scene is
visible. Transparency is specified by setting a pixel to color
zero, or by setting a pixel in HAM mode to black. Such
images can be prepared with a paint program. The actual file
name must end with '.image', but this extension should not
be entered into the gadget. The foreground image should be
the same size as the image being rendered.
Background:
This gadget can be used to enter the name of an image
that is to be treated as a background. When an image is
rendered and the sky is turned off, any part of the image that
would otherwise be recorded as sky will be replaced by the
background image. The actual file name must end with
'.image', but this extension should not be entered into
the gadget. The foreground image should be the same size as the
image being rendered.
SAVE GLOBAL SCENE
This gadget causes the objects in the Tri-View to be
saved as the global scene for the Take.
LOAD GLOBAL SCENE
This gadget causes the Tri-View to be cleared, and the
global scene for the Take to be loaded
A-40
DELETE ALL IMAGES
This gadget deletes all the images associated with the
Take. You should use this at any time that you have
modified the Take in any that would make the rendered
images invalid.
PREVIEW
This gadget initiates the rendering process. When all the
the images have been produces, if a RAM animation mode
has been specified, an animation file is saved to disk.
OK
This gadget permits you to leave the requester.
Current frame:
This gadget is only available when the 'Take mode' is set
to FRAME. You may use this gadget to specify which
frame number you are interested in. Key frame: This gadget
can be toggled between YES and NO. It is used to specify
whether the current frame is a key frame.
Duration:
This gadget can be used to specify the length of time, in
jiffies, that the current frame should be displayed.
Image drawer:
This gadget can be used to specify a drawer for the
current image. This gadget is particularly useful if you are
A-41
using floppy disks and all the images will not fit on a single
disk. If this item is left blank, and an image drawer is
specified for an earlier frame, then that drawer will be used
for the current frame.
Scene drawer:
This gadget can be used to specify a drawer for the key
frame scene for the current frame. This gadget is particularly
useful if you are using floppy disks and all the scenes will
not fit on a single disk. If this item is left blank, and a scene
drawer is specified for an earlier frame, then that drawer will
be used for the current frame.
SAVE KEY FRAME SCENE
The objects that are in the Tri-View are saved to become
the key frame scene for this frame. Any objects that are
derived from the global scene will not be saved.
LOAD KEY FRAME SCENE
The key frame scene will be loaded if this frame is a key
frame. Objects from the global scene will also be loaded,
but these will not be able to be modified. If the current
frame is not a key frame, then objects will be loaded by in-
betweening, but they will not be able to be modified, unless
you specifically request it.
DELETE CURRENT IMAGE
The image associated with the current frame will be
deleted.
RENDER FRAME
An image corresponding to the current frame will be
rendered.
A-42
APPENDIX B
GLOSSARY
ATTACH
A mechanism for describing moving objects is to attach them
to a path. The attachment is performed by making the object
an offspring of a motion path in the hierarchy of names.
AXES
The plural of axis.
AXIS
A principal direction that is used for measuring the position
of an object. In Sculpt Animate, the axes are directed to the
east, north and upwards.
CENTER
The Center of a group of vertices is defined as the center of
the smallest rectangular box that would enclose the vertices.
The box is aligned with the coordinate axes.
CENTROID
The centroid of a set of vertices is the average of their
individual positions. If the vertices all had the same mass, it
would be their center of gravity.
CLICK
The expression 'click on a gadget', means that you are to
point to the gadget and press down the left mouse button and
then release it. If you press the button, and then decide that
you want to change your mind, some gadgets permit the
command to be cancelled by moving the pointer away from
the gadget before releasing the button
COMPOSITE ENCODER
A piece of hardware that takes a signal containing separate
signals for the intensity of the image in red, green and blue
(RGB) and combines them into a single signal. Many video
recorders can only accept signals in composite format.
B-1
CURSOR
This is an object that represents a position in three
dimensions, so it is displayed in all three Tri-View
windows. It can be moved by the mouse, when the left
button is pressed down.
CURVE
In Sculpt Animate, a curve is a series of vertices linked by
edges. Each vertex on a curve must have either one or two
edges associated with it.
CUSP
A point where two curves meet with a different slope. A
spline may have any number of cusps. Place them at points
where you wish the curve to have a corner or kink.
DELTA DATA
A description of the difference between two images. Given
one image and the appropriate delta data, then another image
can be reconstructed. If two images are very similar, then
the size of the delta data is much smaller than the size of the
image.
DOUBLE CLICK
Because the mouse only has two buttons, you can signal the
computer that you wish to do something special, by pressing
a button twice in rapid succession. This is called double
clicking, and it is almost always done with the left mouse
button. You can use the Workbench Preferences tool to set
the interval of time that the Amiga regards as 'rapid
succession'. With Sculpt Animate you should set the interval to
be fairly short, so that a double click is a very deliberate act,
rather than normal frenzied mouse activity.
DRAG BAR
This is a gadget that is located in the top border of each
window of the Tri-View. It is used to move the window
around on the screen.
B-2
EDGE
In Sculpt Animate an edge is a line joining two vertices. An
edge is visible as a dark line in the Tri-View, but is never
seen in a picture
EDGE BUILDING GADGET
This gadget resides in the lower left border of each Tri-View
window. Its icon is a triangle. If exactly two vertices are
selected, then an edge will be constructed between the
vertices. If three vertices are selected, then they will be
joined by three new edges.
FACE
In Sculpt Animate objects are built from a patchwork of
triangular faces. A face has a particular color and surface
texture. A face is automatically created whenever three
vertices are joined by three edged.
FRAME
One image of an animation. Often a frame is made up by
interlacing two fields, one containing odd numbered scan
lines and the other containing even numbered scan lines.
FRAME BUFFER
A piece of hardware that is controlled by the computer that
accepts data for each pixel and generates a video display or a
video signal. To be useful, a frame buffer should produce
an image of higher resolution or with more colors than the
computer's graphics hardware can produce.
GADGETS
These are small images that can be used to perform an
operation. Some gadgets are common to most Amiga
programs while others are unique to Sculpt Animate. The
Tri-View has a number of gadgets in the borders of each
window, that are used for changing the position and size of
the Tri-View and for manipulating objects. Other gadgets
appear in requesters. Most gadgets are operated by clicking
on them with the left mouse button. Others, called sliders,
are like the controls on a hi-fi graphic equalizer. You can
click on the control knob and then slide it up and down, or
from side to side, in order to adjust a value. Finally there are
B-3
gadgets, that when selected by clicking, will enable you
enter a name or a number from the keyboard.
GLOBAL ANIMATION
An animation technique where a single scene contains all the
information about objects and their motion, so that many
frames can be generated from the single scene.
HELICES
The plural of Helix.
HELIX
A curve that is produced by sweeping a point around an axis
and changing the distance along the axis. In Sculpt Animate,
the distance from the axis can also change, resulting in a
spiral curve.
HIERARCHY
A system for organizing elements into levels, where an
element is never linked to another element at the same level,
is never linked to more than one element at the next highest
level, but may be linked to any number of elements at the
next lowest level. In Sculpt Animate the elements are names
that may be given to groups of vertices, paths, lamps, etc.
The part of the sky that appears to be at ground level.
IN-BETWEENING
The process of interpolation, whereby the position and shape
of an object at one time is inferred from its position and
shape at other times. The frames for which the scene is
explicitly provided are called key frames.
INDICATED
Marking an object by placing the cursor on or near it in the
current window of the Tri-View.
B-4
INDICATED VERTEX
If a vertex lies within a few pixels of the cursor in the active
window of the Tri-View, this vertex is considered the
indicated vertex. If more than one vertex meets this criteria
and they are distributed in depth, then the indicated vertex is
the one that is closest to the cursor in the depth direction.
JIFFY
The length of time that it takes to display a single field of an
image. On NTSC systems this time is 1/60th of a second.
On PAL systems the time is 1/50th of a second.
KEY FRAME
A frame at which all details of the scene are explicitly
provided. The scenes that correspond to not key frames
must be interpolated from key frames before and after the
non-key frame. This process is called in-betweening.
KNOT
A point on a spline that is used to define the shape of a
spline. If a knot is moved, nearby non-knot vertices will
also move.
LOCAL ORIGIN
The local origin of a named object is the point that can be
attached to a path. A local origin can either be fixed in
space, or locked to a vertex.
LOCATION
The point from which a scene is viewed in order to render an
image.
LOOP
In Sculpt Animate, a loop is a series of vertices linked by
edges where each vertex is associated with two edges. It is a
closed curve.
OBJECT CYCLING
A method of producing an animation where a single scene
contains many objects, each representing one stage of a
motion. When the scene is rendered for a particular frame,
only one object is used.
B-5
OBSERVER
This entity embodies all the attributes required to specify the
process of generating an image, including a viewing
location, a target position, an imaging method and an image
size. The width of view can be controlled by choosing a
lens.
OFFSPRING
In a hierarchy, an offspring is an element at the next lowest
level. In Sculpt Animate, the maximum number of direct
offspring is limited to 255.
ORIGIN
The initial position of the cursor. If the coordinate window
is displayed, the position of the cursor is specified relative to
an origin that you can set.
PARENT
In a hierarchy, a parent is the element at the next highest
level. An element may not have more than one parent.
PATH
A description of the motion of a moving object. In Sculpt
Animate, a path is represented by a chain of vertices linked
by edges. Each vertex represents the location of the object at
a time corresponding to a particular frame.
PIXEL
A picture element on the screen. The Amiga can display 320
or 640 pixels in the horizontal direction and 200 or 400
pixels in the vertical direction. Subject to some restrictions,
each pixel can be displayed in one of 4096 different colors
and intensities.
POINTER
This is the image that moves on the screen when you move
the mouse. It looks like a red arrow, unless you or someone
else had changed it with the Preferences tool.
B-6
PREVIEW
The process of rapidly generating a moving image of an
animation. In Sculpt Animate, the preview is displayed in
wire frame mode.
RAM ANIMATION
A method of displaying an animation using a computer.
Each image is stored in memory in a compressed form and is
expanded before being displayed.
RENDER
The word render is used to apply to the process that
generates an image of a scene.
REQUESTER
This is an object that appears on the screen from time to
time, when Sculpt Animate needs some extra information, or
wants to be sure that you have received a message before
continuing. Requesters contain gadgets that may be like
push button, or sliders or even little boxes where you can
type a short message. Whenever a requester pops up, you
must acknowledge it by answering any questions and
pressing the OK or CANCEL button with the left hand
mouse button before continuing with Sculpt Animate.
RUBBER BAND LINE
A dotted line drawn from a fixed point to the cursor to show
where an edge could be built.
SCENE
A scene is one of the file formats used by Sculpt Animate. It
can contain objects, lamps, an observer and a world. In
order to be recognized as a scene, the file name should end
with '.scene'. The command PROJECT SAVE SCENE
automatically adds this suffix.
SCRIPT
A file that contains commands that control the program
directly, rather than through mouse interaction.
B-7
SINGLE FRAME CONTROLLER
A piece of hardware that permits a computer to control a
video recorder in such a way that one image is written to tape
at a time.
SLOPE
The angle of a line that is parallel to a curve at a particular
point. The slope at a knot helps to determine the shape of a
spline.
SNAP
If the left mouse button is double clicked in a window,
Sculpt Animate looks for a nearby vertex (within about 3
pixels). If more than one pixel satisfies the criteria, then the
one closest in the 'depth direction' of the window is
chosen. The selection state of the vertex is toggled. Also
the cursor is moved to the position of the vertex. This is
called snap. Commands are provided to snap the cursor to a
vertex or grid. Vertices can be snapped to the grid, to a
spherical shape or to a plane.
SOLID OBJECT MODELING
In this manual, solid object modeling is defined as the
creation and manipulation of three dimensional mathematical
facsimiles of objects, for the purpose of creating images.
The term has also been used to describe different, more
sophisticated process that might better be called solid object
simulation, in which objects are given physical attributes
such as mass and rigidity. Solid object simulation is beyond
Sculpt Animate's scope, although Sculpt Animate may be
used in conjunction with simulation programs.
SPEED PARAMETER
A parameter that helps to determine the shape of a spline. If
a knot has a large speed parameter, the slope has an
influence over the shape of a large portion of the spline.
SPLINE
A smooth curve that is generated mathematically. In Sculpt
Animate, the exact shape of a spline can be modified
interactively.
B-8
SWATCH
The patch of color at the lower center of one of the color
requesters is called a swatch. It indicates the current color.
Move the sliders to change color.
TAKE
A sequence of frames that make up an animation. In Sculpt
Animate, a Take is a file that contains enough information
that the image for each frame can be rendered.
TARGET
A point within a scene that will appear in the center of a
rendered image.
TOGGLE
When a gadget has two different states that it can be in, and a
single action causes it to change from one to another, it is
said to toggle. For example some requesters have a box that
may contain the word YES or the word NO. Clicking
on the gadget will change the gadget from YES to NO or
vice versa.
TOOL
In Sculpt Animate, a tool is associated with the cursor. The
default tool, i.e. the one associated with the cross-hair
cursor is used for indicating things and for creating vertices.
The grabber gadget changed the default tool into the grabber
tool which is used for moving selected objects. Other tools
include the selector and deselector tools, the magnet tools for
deforming objects, the curve tool for drawing freehand
curves, the extrude tool for manipulating extrusions and the
edge maker tool for making edges.
TRI-VIEW
The set of three windows that are used for manipulating
three dimensional objects. The Tri-View represents a block
of three dimensional space, and only objects within that
block are displayed. Objects are displayed as wire frame
images.
B-9
TUMBLE AXES
A set of three directions that define the orientation of an
object as it moves along a path. By rotating the different
tumble axes along a path, an object can be made to spin
when it is animated.
VERTEX
This is a point that can define the end of an edge, or
the corner of a face. In Sculpt Animate, you manipulate an
object by changing the position of one or more vertices.
VERTICES
The plural of vertex.
WINDOW
A portion of the screen that sometimes can be moved around
or rearranged in depth. The most important windows in
Sculpt Animate are the three windows of the Tri-View.
These windows have a blue and white border area containing
a myriad of gadgets. The interior of the Tri-View windows
are brown and contain a wire frame rendering of the contents
of the Tri-View.
ZENITH
The point in the sky that is directly overhead.
B-10
APPENDIX C
SCULPT ANIMATE FILE FORMATS
The files generated by Sculpt Animate follow the IFF
standard, with the exception of the RGB files described in
chapter 3. The IFF format is described in the Amiga ROM
Kernel Manual, and sample programs to read and write such
files may be found in most Amiga public domain disk
libraries. Some programming experience is helpful in
understanding the format, in particular, the C language will
be used to describe the nonstandard data chunks.
The file formats used by the Sculpt series of programs
for the Amiga are constantly changing, through the addition
of new chunk types and the definition of reserved 'padding'
bytes in existing chunks. In most cases this will not present
problems either with older versions of the program, or with
future versions. Care should be taken to initialize unused
padding bytes to zero, to maintain future compatibility.
Image files
Images are written as ILBM IFF files and need little
further explanation here, since they conform to the published
standards. Because of the variety of image size and mode
that Sculpt Animate uses, programs which intend to use
these images shouldn't make assumptions about these items.
Image files have names that end with '.image'.
Images saved in conjunction with frame buffer usage are
non-standard, but follow the ILBM format. These images
have no CMAP chunk, so the bit planes represent actual 24
bit color intensity values: 8 planes each of red, green and
blue--stored in that order. Within each color, the most
significant bits come before less significant bits.
C-1
Scene files
Scene files contain a number of data chunks. Each
chunk is described below in terms of a C structure. The
comments beside each structure member should make its
meaning clear. The FORM name for a scene file is 'SC3D'.
/* Chunk 'LAMP' contains one or more of the following structures,
the number of structures is determined by the length of the chunk
/*
struct elamp
{ long int pos[3]; /* The position of the lamp */
long int brightness; /* The brightness of the lamp */
unsigned char color[3]; /* The color of the lamp as a triple
of RGB values, range 0 to 255 */
char pad; /* Unused */
};
/* Chunk 'OBSV' contains a specification of an observer according
to the following structure
*/
struct observer
{long int obsmode; /* Rendering mode as follows
0 Painting
1 Snapshot
2 Photo
3 Wireframe
4 Sketch
5 Scanline painting
6 Scanline snapshot
*/
long int fl; /* Focal length of lens
in millimeters
*/
long int althresh; /* For internal use only */
long int threshhold; /* For internal use only */
long int robspos[3]; /* Position of observer */
long int rtarget[3]; /* Position of target */
short int hires; /* 0 for low and 1 for high resolution */
short int lace; /* 0 for non-interlace 1 for interlace */
C-2
short in lens; /* Lens type as follows:
0 Normal 50mm
1 Wide angle 28mm
2 Telephoto 135mm
3 Special, as given by spfl
short int manexpflg; /* 0 for auto exposure, else manual */
long int spfl; /* Focal length of special lens */
long int expoverride; /* Current value for exposure override */
long int picsize; /* Image size as follows
0 Tiny
1 Small
2 Medium
3 Full
4 Jumbo
5 Video
*/
long int tilt; /* Tilt angle */
long int aamode; /* Anti aliasing mode as follows
0 None
1 Good
2 Best
*/
short int dithatten; /* Dithering attenuation as follows:
0 Standard
50 Half standard, etc.
100 None
*/
short int colorlock; /* Non zero for locking colors */
short int explock; /* Non zero for locking exposure value */
short int expexp; /* Internal use only */
long int expmant; /* Internal use only */
unsigned char wfcol1[4],2fcol2[4];
/* Colors for wire frame images */
short int displayearly;
/* Non zero to request early display
of rendered image */
short int dummy[29]; /* Reserved for future use, should be set
to zero
/*
};
C-3
/* Chunk 'WRLD' contains a specification of the world using the
following structure
*/
struct world
{long int groundmode; /* 0 None, 1 solid, 2 checkered */
long int skymode; /* 0 None, 1 solid, 2 graduated */
long int checkscale; /* Size of checkered ground */
unsigned char backbright[3];
/* Intensity of background illumination
as RGB values on a scale of 0 to
255
*/
unsigned char grcol1[3],grcol2[3];
/* Colors of ground squares as RGB
values on a scale of 0 to 255
*/
unsigned char skycol1[3],skycol2[3];
/* Sky colors as RGB values on
a scale of 0 to 255
*/
long int dummy[20]; /* Reserved for future use, should be set
to zero
*/
};
C-4
/* Chunk 'VERT' contains an array of the following structure, one
element for each vertex to be included in the scene
*/
struct evertex
{long int pos[3]; /* Position of vertex */
};
/* Chunk 'EDGE' contains an array of the following structure, on
element for each edge in the scene
*/
struct eedge
{long int evertexi[2]; /* Indices denoting vertices in VERT
chunk
*/
};
/* Chunk 'FACE' contains an array of the following structures, on
element for each face in the scene
*/
struct eface
{long int evertexi[3]; /* Indices denoting vertices in VERT
chunk
*/
unsigned char color[3];
/* Face color as RGB values in the range
0 to 255
*/
unsigned char texture; /* The most significant bit is set
if smoothing is needed. The remaining
bits represent a texture value as follows:
0 Dull
1 Shiny
2 Mirror
3 Luminous
4 Glass
5 Metal
*/
};
C-5
/* The chunk 'HIER' contains an array of the following structures,
one element for each name in the hierarchy
*/
struct ehier
{short int parindex; /* index to the hierarchy element
that is the parent of this element
*/
char name[10]; /* Nane of the hierarchy element */
short int type; /* Type of element, as follows:
0 Empty
2 Lamp
4 Path
6 Target
8 Observer location
Bit 0x10 is set if a local origin is
used by this element
*/
short int loverti; /* index to the vertex that is the local
of this element
*/
long int lo[3]; /* Local origin position */
};
/* Chunk 'VNAM' contains an array of the following structure, one
element for each vertex that has a hierarchy name
*/
struct ename
{short int object; /* index to vertex */
short int name; /* index to hierarchy name */
};
/* The chunk 'LNAM' contains an array of short integer values
representing the hierarchy indices for each lamp. Unnamed
lamps are given an index of -1.
*/
C-6
/* The chunk 'PATH' contains an array of the following structure,
one element for each vertex that is a part of a path
*/
struct epath
{int evertexi; /* Index to vertex */
long int etumbleaxes[3][3];
/* Tumble axis directions, scaled by a factor or
1L<<30
*/
int terminator;
/* Code value with bits set as follows:
1 end of path
2 end of loop
4 interpolated
*/
};
/* The chunk 'KNOT' contains an array of the following structure,
one element for each knot vertex included in the scene
*/
struct eknot
{long int eslopes[2][3];
/* Knot slopes scaled by 1L<<30 */
long int espeeds[2];
/* Speed values scaled by 1L<<30 */
short int evertexi;
/* index to vertex */
short int terminator;
/* Code value with bits set as follows:
1 end of spline
2 end of loop
4 interpolated
8 cusp
*/
};
C-7
/* The chunk 'SPLN' contains an array of the following structure,
one element for each non-knot spline vertex
*/
struct espline
{short int evertexi;
/* Index to vertex */
short int evertknoti;
/* Index to knot */
};
Take files
A take is automatically saved to disk at frequent intervals
as a file whose name ends with '.take'. It is an IFF file with
a form name called 'TAKE' containing the following
chunks.
/* Chunk 'THDR' contains the following structure:
*/
struct take
{int frmode; /* set to 1 for frame mode */
int rammode' /* set as follows:
0 not RAM animation
1 normal RAM animation
1 economy RAM animation
*/
int numframes; /* number of frames in the take */
int curframe; /* current frame number */
int saveimages;
/* set to 1 if frames are to be saved to disk */
int prevsize; /* preview size as follows:
2 Medium
3 Full
*/
int motionblur;
/* set for motion blur */
int loopmode; /* set as follows:
0 no loop
1 loop
2 oscillation
*/
C-8
int framebuffer;
/* set if frame buffer is in use */
int framecontroller;
/* set if frame controller is in use */
char anidrawer[22];
/* animation drawer name */
char foreground[22];
/* foreground file name */
char background[22];
/* background file name */
char pad1[22];
/* unused, should be set to zero */
char fcname[22];
/* frame controller name */
char pad2[22];
/* unused, should be set to zero */
char fbname[22];
/* frame buffer name */
short int colorblock;
/* set when colors are locked */
char creg[96];
/* current color registers */
short int explock;
/* set when exposure values are locked */
short int expexp;
/* internal use only */
long int expmant;
/* internal use only */
short int obsmode;
/* Rendering mode as follows
0 Painting
1 Snapshot
2 Photo
3 Wireframe
4 Sketch
5 Scanline painting
6 Scanline snapshot
*/
short int hires;
/* 0 for low and 1 for high resolution */
short int lace;
/* 0 for non-interlace 1 for interlace */
C-9
short int picsize;
/* Image size as follows
0 Tiny
1 Small
2 Medium
3 Full
4 Jumbo
5 Video
*/
short int bitplanes;
/* number of bit planes */
unsigned char wfcol1[4],wfcol2[4];
/* colors for wire frame rendering */
char padding[64];
/* unused, should be set to zero */
};
/* The remaining chunks are of type 'TFRM', one for each frame in
the take. Each chunk contains the following structure
*/
struct etakeframe
{short int framenum; /* Frame number */
short int keyframe; /* Set to 1 if it is a keyframe */
short int duration; /* Duration, in jiffies */
char imadrawer[22]; /* image drawer name */
char scedrawer[22]; /* scene drawer name */
char padding[64]; /* unused, should be set to zero */
};
C-10
APPENDIX D:
ERROR MESSAGES
This appendix contains a list of error messages that can
be encountered during the use of Sculpt Animate. Messages
that simply ask for confirmation of a command, etc., have
generally been omitted.
The messages are grouped topically. Messages with
similar meanings are explained once, as a group.
Messages relating to memory:
Not enough memory
Not enough memory to display image
Not enough memory to render image
Not enough memory for preview
These errors indicate that there isn't enough memory to
perform the requested operation. This can occur even if plenty
of expansion RAM is available, since chip (graphics) ram is
always limited. Note that the memory status display is only
updated occasionally during renders.
Memory too fragmented
This error indicates that the largest available contiguous
memory block is not large enough to carry out the operation.
Not enough memory or disk space
The requested operation may be possible if more disk space is
made available, either in the program's current directory or in a
mounted device or volume named "SATEMP:" (intermediate
image data would be stored here). No more than 600K of
additional disk space should be required in any case.
Not enough memory for task or recovery
The program has "painted itself into a corner", and can't find
enough free memory to continue at all. This should be rare.
Unable to open screen
Unable to open window
A system call to open a screen or window has failed. This is
most likely because of a lack of chip (graphics) memory.
D-1
Messages relating to files:
File does not exist!
Cannot rename non-existent file!
Cannot delete non-existent file!
Take not found. Create new Take?
The file requested does not exist in the selected directory.In
the case of a Take, clicking OK will enable the Modify Take
command, which saves a Take file automatically.
Unable to open file
Unable to open image file
A file cannot be found that is required for the processing of a
take. This is most likely to happen if a name is improperly
entered into the foreground or background image slot, if
CANCEL is clicked in an "insert volume" requester, or if a
key frame has been specified for which no scene has been
saved. This can also happen if the file is being used by
another program which is running concurrently.
Unable to create file
Unable to open file for animation
Unable to open files for bit-planes
A system I/O error occurred which prevented a file from being
opened for storing data. This can happen if a protected file of
the same name exists on the requested directory, if a file of the
same name is being used by another program, if the requested
directory doesn't exist, if the disk is not mounted or is write
protected, etc.
Unable to open device
Fail to open Frame buffer
Fail to open Frame controller
The selected device driver was either not found or not
successfully loaded by the system. Make sure the driver
filename matches it's device name (case sensitive), and that it
is properly installed in DEVS:.
Unable to close file for bit-planes
The program was not able to access a volume on which it had
been writing bit-plane data. This can happen if CANCEL is
clicked on a volume requester.
Error reading from file
Error reading from animation file
A system I/O error occurred while the file was being accessed.
This may mean that the file has been corrupted. This can also
happen if the end-of-file is reached unexpectedly.
D-2
Error writing to file
Failure while writing to disk
Error writing animation file
Disk error on bit-planes file
A system I/O error occurred while data was being stored. This
is most likely to happen if the volume being written to fills
up. Try specifying a larger volume in the "Animation drawer"
slot of the Modify Take requester, Global mode. Or, in the
Frame mode, name different volumes in the "image drawer"
slot for various frames.
This file does not contain a scene
No image found on this file
This file does not contain a Take
The supposed Scene, Image, or Take file that is being opened
does not actually contain valid data of that type.
The file is corrupted
The scene file contains 'garbled' data that can't be used.
The image has no color information
The image has no header information
The image file does not contain specific data which is required
to properly display the image.
This image file does not match frame buffer
An image that was supposedly saved as part of a frame buffer
render is the wrong size/resolution for the current frame buffer.
This can happen if you change the frame buffer's settings or
select a new frame buffer when images already exist for a Take.
Click DELETE ALL IMAGES when you change setting.
Fatal disk read error
Fatal disk write error
A serious system I/O error has occurred which makes it
impossible for program execution to continue.
Messages relating to hierarchies:
Hierarchy error. It may have been truncated.
The scene's hierarchy is corrupted. This may have occurred as
a result of a system I/O error, garbled file, etc.
No indicated vertex
"Connected" commands require that the cursor be "indicating" a
vertex, i.e., placed within a pixel or so in the selected window.
D-3
A lamp cannot be given this name
A path cannot be given this name
Vertices cannot be given this name
This tells you that the word "location" or "target" was the
current name in the hierarchy when you clicked OK. If you
just wanted to name the observer's location or target, then
there is no problem. Otherwise, use another name.
Messages relating to rendering:
Observer mode needs to be set
The loaded scene requires a rendering mode that has not been
implemented in this version. A different mode must be set.
Already making a picture
A START or RENDER command has been issued while an
image was already being rendered. Wait for the render to
finish, or use Abort.
ERROR: images have different size or type
ERROR: colors not locked
Delete all images and render them again
The images that have been saved in a take must all have the
same size, resolution, type, and color map in order to be
compressed for RAM playback. These parameters are stored in
the ".take" file. They may be wrong if you don't DELETE
ALL IMAGES before beginning a new render, or if the Take
file is somehow lost or altered between rendering sessions.
Messages relating to Takes:
...and erase the Take?
The command ERASE ALL was called after a take had been
loaded. If you click "OK" to this query, the take will be erased
from RAM. If you have made any settings, they will remain
on disk in a 'take' file.
Frame number too small
A "current frame" number of zero (0) was entered. Frames are
counted from one (1) in Sculpt Animate.
More frames needed
A PREVIEW requires a take of at least two (2) frames.
D-4
Not a Key Frame! Generate scene by in-betweening?
The selected frame is not a key frame, so (presumably) no key
frame scene has been saved for it. If you click OK, the
program will interpolate a new scene from neighboring key
frame scenes.
Keyframes n1 and n2 have different structure
The keyframes that bracket the frame being rendered (or loaded)
were constructed differently. See the "in-betweening" section of
chapter 11 for details.
Messages relating to Paths:
Not a path
The desired operation can only be performed on a path. The
indicated vertex is not a part of any path.
No path indicated
The command will not work unless a vertex that is part of a
path is indicated (has the cursor placed on it in the current
window).
Already a path
Another attempt was made to make a path from vertices that were a
part of another path.
Vertex has no edge
Vertex has more than 2 edges
The indicated curve does not describe an unambiguous course
for a path to follow.
Path direction not shown
Exactly one vertex must be selected adjacent to the indicated
vertex when making a closed loop path, to specify the path's
direction of travel.
Path is not a loop
If a curve is not a closed loop, an end vertex of the curve must
be indicated for it to be made a path.
You are already at the end of the path
The NEXT and PREVIOUS gadgets in the Tumble Axes
requester will only work if there is a next or previous vertex
(respectively).
D-5
Path too short
SHOW PATH POSITION was used while the current frame
number in the Modify Take requester was larger than the path's
number of vertices.
Messages relating to the Tri-View:
Tri-View cannot be moved any further in this direction
Tri-View cannot be made larger
Tri-View cannot be made smaller
The largest allowable coordinate in Sculpt space is plus or
minus 10,000,000 fundamental units (no decimals). Tri-View
size and motion are limited to avoid going too far past this
boundary. The Tri-View also cannot be made smaller than a
size of about 1 unit = 1 pixel. Some space is reserved beyond
these limits to ensure computational accuracy.
Miscellaneous editing messages:
All selected vertices must lie on a plane
The desired operation only works on vertices that all lie within
the same plane.
At least 4 vertices must be selected
The FILL command only works on loops of four or more vertices.
Bad control curve
The indicated curve is not adequate for the program to use as a
guide in constructing a helix.
Error: part of another spline
An attempt was made to create a spline using vertices that are
already part of another spline. This is not allowed.
Error: selected vertices are not connected
An attempt was made to create a spline using vertices that are
not connected.
Loop does not lie in a plane
At least one of the loops selected for an UNSLICE does not lie
in a plane.
Loop planes are not parallel
The loops selected for an UNSLICE do not lie in parallel
planes.
D-6
Must be greater than 3!
An attempt was made to create a helix with 3 or fewer
rotational steps per cycle. This is not allowed.
No lamp near the cursor
The grabber was invoked with no vertices selected, and no
lamp within grasp.
No unique simple selected curve
There is no helix control curve indicated, and the selected
vertices (if any) are not adequate for building a helical surface.
No vertices selected
The selected command operates only on selected vertices.
Not a spline
The selected command operates only on splines.
Not a valid curve for a spline
A curve which is to be a spline must be a simple, fully-
connected curve with no more than two edges connected to the
vertex.
Nothing to fill!
The selected vertices are already filled.
Number too big, try again
A number was entered into a text entry gadget that is too large
for the given application (e.g., exposure value).
How many vertices are to be inserted?
SUBDIVIDE was called with two unconnected vertices
selected. You may specify a number of vertices to be inserted
between these two, creating a curve. (Good for paths).
Select the object to be expanded
The EXPAND command was called without selecting any
vertices.
This vertex is not a knot
A knot of a spline must be indicated by the cursor
before Modify Knot will work.
D-7
Script error messages:
It is possible that errors can occur during the execution
of a script file or keyboard macro, as a result of typos or
incorrect entries in the script. When this occurs, this
message will appear:
Script syntax error nn on line nnn. Continue?
The "line" number tells which line of the script is at fault.
It is possible that the error actually occurred on the preceding
line (as when a parameter was omitted). If you click
OK, script execution will continue with the next line.
The syntax error number can provide a clue about what
has actually gone wrong. The following is a list of script
syntax errors that can appear.
1 A name enclosed in double quotes was not found.
2 The first word of a command is incorrect.
3 A command that moves the cursor is incorrect.
4 When saving a scene, something other than one of the following
keywords was found: SELected, LAMps, OBServer, WORld or
OBJects.
5 When loading a scene, something other than one of the following
keywords was found: SELected, LAMps, OBServer, WORld or
OBJects.
6 The number representing an expansion factor was entered
incorrectly.
7 A number representing a color value has been incorrectly entered.
8 The number representing the size of a sphere was not supplied, or
supplied incorrectly.
9 The number representing the size of a hemisphere was not
supplied, or supplied incorrectly.
10 The number representing the size of a cube was not supplied, or
supplied incorrectly.
11 The number representing the size of a prism was not supplied, or
supplied incorrectly.
12 The number representing the size of a disk was not supplied, or
supplied incorrectly.
13 The number representing the size of a circle was not supplied,or supplied incorrectly.
D-8
14 The number representing the size of a cylinder was not supplied, or
supplied incorrectly.
15 The number representing the size of a tube was not supplied, or
supplied incorrectly.
16 The number representing the size of a cone was not supplied, or
supplied incorrectly.
18 The integer representing the number of decimal places to use in
coordinates was not supplied correctly.
19 The number representing the focal length of a lens was not given
correctly.
20 The integer representing the exposure override percentage was not
correctly supplied.
21 The observer tilt angle has not been correctly supplied.
22 The size of the ground checkerboard has been incorrectly specified.
23 The angle of rotation for a rotate command has not been given
correctly.
24 The integer value specifying the number of bitplanes has been
incorrectly specified.
25 The keywords SELect or DESelect were expected, but not found.
26 An invalid number was used to represent a color.
27 The number representing the grid size was not given correctly.
28 The cursor was not positioned on a vertex in order to indicate a
knot.
29 The indicated vertex is not a knot.
30 A name enclosed in double quotes contains a space, return or non-
printing character.
31 A name enclosed in double quotes is not terminated, or is too long.
33 An integer representing the number of vertices on the perimeter of
a disk was not correctly supplied.
34 An integer representing the number of vertices on the perimeter of
a disk was not correctly supplied.
35 An integer was expected, but not found.
36 An integer representing the number of subdivisions of a sphere was
not correctly supplied.
37 An integer representing the number of subdivisions of a
hemisphere was not correctly supplied.
38 An integer representing the number of vertices on the perimeter of
a circle was not correctly supplied.
D-9
39 An integer representing the number of vertices on the perimeter of
on end of a cylinder was not correctly supplied.
40 An integer representing the number of vertices on the perimeter of
a tube was not correctly supplied.
41 An integer representing the number of vertices on the perimeter of
a cone was not correctly supplied.
42 The number representing the percentage of standard dithering has
been incorrectly supplied.
43 An error was made while specifying a direction.
44 The number specifying the speed at a knot was not given correctly.
45 The cursor is not indicating a vertex for a tumble.
46 The indicated vertex does not lie on a path.
47 An error has been made while specifying the first direction for a
tumble axis.
48 An error has been made while specifying the second direction for a
tumble axis.
49 The two directions to specify a tumble axis are parallel.
50 No take loaded.
51 Bad value for the number of frames for a take.
52 Invalid number for current frame.
53 Invalid number for frame duration.
54 Bad values for Tri-View sizes.
55 Hierarchy name error.
56 Macros can only be assigned to printable characters.
57 Macro too long, must be less than 30000 bytes.
D-10
============================================================================
DOCS PROVIDED BY GORD AND -+*+-THE SOUTHERN STAR-+*+- for M.A.A.D.
============================================================================